Я пытаюсь изменить цвет кнопки «Отмена» в UISearchBar, реализованном с помощью UISearchController (iOS 8 и выше). Это код, который я использую:
if self.resultSearchController.active {
for subView in self.resultSearchController.searchBar.subviews {
for subsubView in subView.subviews {
if subsubView.isKindOfClass(UIButton) {
subsubView.tintColor = UIColor.whiteColor()
}
}
}
}
Если я вставлю его в viewDidLoad, это не сработает, потому что я думаю, что кнопка «Отмена» инициализируется только тогда, когда SearchController становится активным.
Если я вставляю код в viewDidLayoutSubviews, все работает отлично, но я не уверен, что это правильно.
Итак, куда я должен поместить этот код в TableViewController?
Кроме того, я не понимаю, как я могу получить уведомление в своем TableViewController о том, что SearchController становится неактивным. Другими словами, где я должен разместить такой код:
if self.resultSearchController.active == false {
//Do something
}