#ios #swift
#iOS #swift
Вопрос:
Я работаю над пользовательским приложением для наклеек и хотел бы изменить цвет фона stickerBrowserView во время функции willTransition. Я программно создал дочернее представление, которое добавляется во время viewDidLoad
func createBrowser() {
let controller = MSStickerBrowserViewController(stickerSize: .regular)
addChildViewController(controller)
controller.stickerBrowserView.backgroundColor = UIColor.black
controller.stickerBrowserView.dataSource = self
}
Как мне ссылаться на это представление вне функции createBrowser()? Я новичок в Swift и все еще учусь. Буду признателен за любую помощь!
Ответ №1:
можно создать объект и назначить глобальной переменной
lazy var controller: MSStickerBrowserViewController = {
let controller = MSStickerBrowserViewController(stickerSize: .regular)
// Add View Controller as Child View Controller
self.addChildViewController(controller)
return controller
}()
а затем использовать там, где вам нужно
Комментарии:
1. Работает как шарм, спасибо. Это лучший способ сделать это?
2. Сталкивались ли вы с этой ошибкой раньше? Несбалансированные вызовы для начала / завершения переходов внешнего вида для <CKPresentationControllerRootViewController: 0x110a34c20>.