scopeButtonTitles не будет отвечать
Я наткнулся на своего рода глюк. Когда я загружаю это представление в первый раз, все в порядке:
Если я перейду к следующему виду, мой UINavigationBar
выглядит так:
Если я нажму сейчас, я не могу нажать scopeButton
который отображается на первом изображении.
Я знаю, если я удалю UISearchBar
(второе изображение), я смогу нажать scopeButtons
(первое изображение).
Это мой код для первого изображения:
var searchBar = UISearchBar()
override func viewDidLoad() {
secondContainerView.isHidden = true
searchBar.delegate = self
searchBar.placeholder = "Search"
searchBar.scopeButtonTitles = ["0", "1"]
searchBar.tintColor = UIColor.white
searchBar.barTintColor = UIColor(red: 105/255, green: 185/255,
blue: 114/255, alpha: 1.00)
navigationItem.titleView = searchBar
}
Это мой код для второго изображения:
var searchBar = UISearchBar()
override func viewDidLoad() {
searchBar.delegate = self
searchBar.placeholder = "Search"
navigationItem.titleView = searchBar
}
Я понял, что если я делаю это, это работает:
override func viewWillDisappear(_ animated: Bool) {
searchBar.removeFromSuperview()
}
К сожалению, это создает еще одну проблему, когда я делаю swipeGesture
чтобы вернуться и остаться в текущем представлении, UISearchBar
ушел
Изменить: если я коснусь кнопки назад scopItems
не будет отвечать, но на пальце, это работает:
override func viewWillAppear(_ animated: Bool) {
navigationItem.titleView = searchBar
}
override func viewWillDisappear(_ animated: Bool) {
navigationItem.titleView = nil
}
override func viewDidAppear(_ animated: Bool) {
navigationItem.titleView = searchBar
}