2016-10-27 3 views
0

В моем приложении я показываю popover, что приводит к обесцветению всех тонированных UIImageViews позади popover. Я также хочу, чтобы это поведение выполнялось для UILabels и пользовательских подклассов UIView на экране. Чтобы достичь этого, мне нужно наблюдать, когда открывается popover, и когда он закрывается, поэтому я могу обновить свои цвета вручную.iOS: Как заметить, когда представление находится за popover?

Мой первый подход состоял в том, чтобы наблюдать за объектами U12iew tintColor или tintAdjustmentMode. Как это:

override var tintAdjustmentMode: UIViewTintAdjustmentMode { 
    didSet { 
     // This does not get called 
    } 
} 

Однако это, похоже, не дозвонились, хотя self.tintAdjustmentMode равно true когда я проверяю вручную в то время как поповер показано.

Другим подходом было бы вручную вызвать вспомогательный метод из ViewController, который представляет popover (в данном случае CollectionViewController). Проблема в том, что это не работает, когда другой ViewController (скажем, встроенный контроллер навигации) представляет popover. Так что это не то, чего я хочу.

Что такое другие подходы, которые позволяют мне реагировать на popover, отображаемый на текущем контроллере представления?

ответ

Смежные вопросы