#ios #swift
#iOS #swift
Вопрос:
мне нужно получить доступ к фоновому изображению в одном из моих переходов. Для доступа к UIImage я начал создавать протокол / расширение…
Проблема (конечно):
у ‘UIViewController’ нет элемента с именем ‘BackgroundImage’
Как мне это исправить?
protocol InsetBlurModalSequeProtocol {
func getBackgroundImage() -> UIImage
}
extension UIViewController: InsetBlurModalSequeProtocol {
func getBackgroundImage() -> UIImage {
return self.backgroundImage.image
}
}
Комментарии:
1. Или есть способ преобразовать «Anyobject» в ViewController и протокол?
2. Вы хотите вместо этого расширить свой собственный класс view controller?
3. Да, вроде того. Мне нужно получить доступ к BackgroundImage.image в segue. Так что, может быть, я просто выберу строгий тип? Подождите, строгий тип — это не очень хорошая идея.
Ответ №1:
из любого UIViewController вы хотите фоновое изображение в результирующем. Сначала сохраните это фоновое изображение в UIImage (сначала установите это свойство UIImage в файле .h). Импортируйте этот ViewController.h в желаемый вами view controller, или, как я вижу, вы вызвали метод через делегат (это тоже подойдет), вызывающий это изображение и использующий мгновенный UIImage . Установите фоновое изображение результирующего контроллера представления, которое вы хотите, в методе viewDidLoad
self.view.backgroundColor = [[UIColor alloc]initWithPatternColor:[UIImage imageNamed:@"imagename.extension"]]; //or give the UIImage filename.