在 SLComposeServiceViewController 中更改预览图像
Change the preview image in an SLComposeServiceViewController
我创建了一个 Safari 共享扩展,我从当前 URL 中获取特定图像。该部分已完成,但现在我正在尝试将 SLComposeServiceViewController 上的预览图像替换为我从 URL 中抓取的图像。我似乎无法找到一种方法来更改由 SLComposeServiceViewController
自动生成的预览图像
如何更改此图片?
我尝试在 NSExtenstionContext
的 inputItems
属性 处寻找,但只能看到 URL。
extension NSExtensionContext {
for item in self.inputItems {
if let extenstionItem = item as? NSExtensionItem {
print("attachments = \(extenstionItem.attachments)")
}
}
}
attachments = Optional([<NSItemProvider: 0x12d513e70> {types = (
"public.url"
)}])
我希望无需创建自己的视图即可更改此图像,因为这是我需要对默认值进行的唯一更改。
即使能够隐藏默认放置在那里的图像也会有所帮助!
我找到了完成这个的方法。您用图像覆盖 SLComposeServiceViewController subclass 中的 loadPreviewView()
和 return UIImageView(或任何视图)。要在同一运行时更新它,请在 class.
中保留对它的引用
override func loadPreviewView() -> UIView! {
imagePreviewView = UIImageView(image: UIImage(named: "imageName"))
return imagePreviewView
}
我创建了一个 Safari 共享扩展,我从当前 URL 中获取特定图像。该部分已完成,但现在我正在尝试将 SLComposeServiceViewController 上的预览图像替换为我从 URL 中抓取的图像。我似乎无法找到一种方法来更改由 SLComposeServiceViewController
自动生成的预览图像如何更改此图片?
我尝试在 NSExtenstionContext
的 inputItems
属性 处寻找,但只能看到 URL。
extension NSExtensionContext {
for item in self.inputItems {
if let extenstionItem = item as? NSExtensionItem {
print("attachments = \(extenstionItem.attachments)")
}
}
}
attachments = Optional([<NSItemProvider: 0x12d513e70> {types = (
"public.url"
)}])
我希望无需创建自己的视图即可更改此图像,因为这是我需要对默认值进行的唯一更改。
即使能够隐藏默认放置在那里的图像也会有所帮助!
我找到了完成这个的方法。您用图像覆盖 SLComposeServiceViewController subclass 中的 loadPreviewView()
和 return UIImageView(或任何视图)。要在同一运行时更新它,请在 class.
override func loadPreviewView() -> UIView! {
imagePreviewView = UIImageView(image: UIImage(named: "imageName"))
return imagePreviewView
}