2016-02-10 5 views
1

Я создал расширение для добавления Safari, где я получаю определенное изображение из текущего URL-адреса. Эта часть выполнена, но теперь я пытаюсь заменить изображение предварительного просмотра на SLComposeServiceViewController тем, которое я очистил от URL. Я не могу найти способ изменить изображение предварительного просмотра, автоматически генерируемый SLComposeServiceViewControllerИзменение изображения предварительного просмотра в SLComposeServiceViewController

enter image description here

Как я могу изменить это изображение?

Я пробовал искать в inputItems собственности NSExtenstionContext, но только может видеть 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" )}])

Я надеюсь, что я могу изменить это изображение без того, чтобы создать свою собственную точку зрения, так как это единственное изменение, мне нужно сделать, чтобы по умолчанию.

Даже будучи в состоянии спрятать изображение, размещенное там по умолчанию, было бы полезно!

ответ

2

Я нашел способ выполнить это. Вы переопределяете loadPreviewView() в подклассе SLComposeServiceViewController и возвращаете UIImageView (или любое представление) с изображением. Чтобы обновить его в течение одной и той же среды выполнения, вы сохраняете ссылку на него в классе.

override func loadPreviewView() -> UIView! {   
    imagePreviewView = UIImageView(image: UIImage(named: "imageName")) 
    return imagePreviewView 
} 
Смежные вопросы