小编Der*_*unt的帖子

通过UIActivityViewController(Twitter,Facebook,Instagram)与hashtag共享图像

我试图使用UIActivityViewController与主题标签共享图像,我在尝试分享到Twitter,Facebook和Instagram时遇到了一些奇怪的行为.似乎没有关于这些服务的共享扩展的大量文档.

场景1:Init控制器,带有包含图像和文本的活动项目数组

如果我像这样初始化控制器,Twitter和Facebook将显示在控制器中(没有Instagram,因为它不支持文本项),并且两者都将以编程方式预先填充文本输入字段中的#标签:

let activityVC = UIActivityViewController(activityItems: [myHashtagString, myImage], applicationActivities: nil)
Run Code Online (Sandbox Code Playgroud)

场景2:仅具有图像的Init控制器

在这种情况下,所有网络都会显示,但我(显然)会丢失自动主题标签功能:

let activityVC = UIActivityViewController(activityItems: [myImage], applicationActivities: nil)
Run Code Online (Sandbox Code Playgroud)

场景3:UIActivityItemSource子类

如果我创建自己的UIActivityItemSource子类,我几乎可以完成所有工作.然而,这是我无法弄清楚的,使用我下面的协议方法导致自动主题标签适用于Facebook,但不是Twitter.这怎么可能 - 推特需要一个特殊的密钥吗?如果在场景#1中工作,必须有一种方法可以工作......

有趣的是,如果我插入一个URL(注释掉),这种方法适用于Twitter和Facebook.那么为什么地球上的文字不适用于Twitter!?

let activityItem = CustomItemSource(image: image, message: "#TestTag")
let activityVC = UIActivityViewController(activityItems: [activityItem], applicationActivities: nil)

...

class CustomItemSource: NSObject, UIActivityItemSource {

    private var image: UIImage!
    private var message: String!

    // MARK: Init
    init(image: UIImage, message: String) {
        super.init()

        self.image = image
        self.message = message
    }

    // MARK: Item Source Protocol
    func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any …
Run Code Online (Sandbox Code Playgroud)

ios swift

24
推荐指数
1
解决办法
3289
查看次数

使用延迟var赋值的Swift 2.0'意外尾随关闭'错误

我正在将一个项目转换为Swift 2.0,并且我一直在遇到这个错误,我正在使用一个懒惰的var.此代码在1.2中完美运行但在2.0中断:

lazy private var placeholderImage = UIImage(named: "theImage")
Run Code Online (Sandbox Code Playgroud)

但是,此代码在2.0中生成"意外的尾随关闭"错误.

遵循Xcode的修复错误的建议,这就是我提出的:

lazy private var placeholderImage: UIImage = UIImage(named: "theImage")!
Run Code Online (Sandbox Code Playgroud)

这编译并且似乎有效,但我不明白为什么首先需要进行更改.

xcode ios swift

5
推荐指数
1
解决办法
1530
查看次数

UIImageView contentMode在模糊效果应用程序后无法正常工作

我正在尝试将a的图像属性设置为UIImageView我正在模糊的图像CoreImage.代码与未过滤的图像完美配合,但是当我将背景图像设置为过滤后的图像时,contentMode似乎停止工作UIImageView- 而不是填充方面,图像将垂直拉伸.除了设置contentMode代码,我还在故事板上设置它,但结果是相同的.

我正在使用Swift 2/Xcode 7.

func updateBackgroundImage(image: UIImage) {
    backgroundImage.contentMode = .ScaleAspectFill
    backgroundImage.layer.masksToBounds = true
    backgroundImage.image = blurImage(image)
}

func blurImage(image: UIImage) -> UIImage {
    let imageToBlur = CIImage(image: image)!

    let blurfilter = CIFilter(name: "CIGaussianBlur")!
    blurfilter.setValue(10, forKey: kCIInputRadiusKey)
    blurfilter.setValue(imageToBlur, forKey: "inputImage")

    let resultImage = blurfilter.valueForKey("outputImage") as! CIImage
    let croppedImage: CIImage = resultImage.imageByCroppingToRect(CGRectMake(0, 0, imageToBlur.extent.size.width, imageToBlur.extent.size.height))
    let blurredImage = UIImage(CIImage: croppedImage)

    return blurredImage
}
Run Code Online (Sandbox Code Playgroud)

为什么过滤CIImage导致我的图像被忽略contentMode,我该如何解决这个问题?

uiimageview uiimage ios ciimage swift

5
推荐指数
1
解决办法
427
查看次数

标签 统计

ios ×3

swift ×3

ciimage ×1

uiimage ×1

uiimageview ×1

xcode ×1