我创建了一个Safari Share Extension,从中获取当前URL中的特定图像。该部分已完成,但现在我正在尝试将SLComposeServiceViewController上的预览图像替换为我从URL中删除的图像。我似乎无法找到一种方法来更改由SLComposeServiceViewController自动生成的预览图像
如何更改此图片?
我已尝试查找inputItems
的{{1}}属性,但只能看到其中的网址。
NSExtenstionContext
extension NSExtensionContext {
for item in self.inputItems {
if let extenstionItem = item as? NSExtensionItem {
print("attachments = \(extenstionItem.attachments)")
}
}
}
我希望我可以在不创建自己的视图的情况下更改此图像,因为这是我需要对默认设置进行的唯一更改。
即使能够隐藏默认放置在那里的图像也会有所帮助!
答案 0 :(得分:3)
我找到了实现这个目标的方法。您在SLComposeServiceViewController子类中重写loadPreviewView()
并返回带有图像的UIImageView(或任何视图)。要在同一运行时更新它,请在类中保留对它的引用。
override func loadPreviewView() -> UIView! {
imagePreviewView = UIImageView(image: UIImage(named: "imageName"))
return imagePreviewView
}