在SLComposeServiceViewController中更改预览图像

时间:2016-02-10 19:01:31

标签: ios ios8-share-extension

我创建了一个Safari Share Extension,从中获取当前URL中的特定图像。该部分已完成,但现在我正在尝试将SLComposeServiceViewController上的预览图像替换为我从URL中删除的图像。我似乎无法找到一种方法来更改由SLComposeServiceViewController自动生成的预览图像

enter image description here

如何更改此图片?

我已尝试查找inputItems的{​​{1}}属性,但只能看到其中的网址。

NSExtenstionContext

extension NSExtensionContext { for item in self.inputItems { if let extenstionItem = item as? NSExtensionItem { print("attachments = \(extenstionItem.attachments)") } } }

我希望我可以在不创建自己的视图的情况下更改此图像,因为这是我需要对默认设置进行的唯一更改。

即使能够隐藏默认放置在那里的图像也会有所帮助!

1 个答案:

答案 0 :(得分:3)

我找到了实现这个目标的方法。您在SLComposeServiceViewController子类中重写loadPreviewView()并返回带有图像的UIImageView(或任何视图)。要在同一运行时更新它,请在类中保留对它的引用。

override func loadPreviewView() -> UIView! {        
  imagePreviewView = UIImageView(image: UIImage(named: "imageName"))
  return imagePreviewView
}