#ios #swift #autolayout #uisearchbar #uisearchcontroller
#iOS #swift #автоматическое описание #панель пользовательского поиска #uisearchcontroller
Вопрос:
Я использую UISearchController
с ее UISearchBar
помощью.
Я хотел бы поместить UISearchBar
в верхней части моего UIViewController
представления, используя автозапуск:
import UIKit
class ViewController: UIViewController {
var searchController = UISearchController(searchResultsController: nil)
let myCustomSearchBar = UISearchBar()
var searchBar: UISearchBar {
// return searchController.searchBar
return myCustomSearchBar
}
override func viewDidLoad() {
super.viewDidLoad()
searchController.dimsBackgroundDuringPresentation = false
searchController.obscuresBackgroundDuringPresentation = false
searchController.hidesNavigationBarDuringPresentation = false
view.addSubview(searchBar)
configureSearchBarLayout()
searchBar.translatesAutoresizingMaskIntoConstraints = false
}
private func configureSearchBarLayout() {
[
searchBar.leadingAnchor.constraint(equalTo: view.leadingAnchor),
searchBar.topAnchor.constraint(equalTo: view.layoutMarginsGuide.topAnchor),
searchBar.trailingAnchor.constraint(equalTo: view.trailingAnchor),
searchBar.heightAnchor.constraint(equalToConstant: 88)
]
.forEach{
$0.isActive = true
}
}
}
В результате чего отображается следующий вид:
Однако, как только я нажимаю на панель поиска, она полностью исчезает с экрана, чтобы больше никогда не появляться.
Если я изменю код, чтобы включить базовый, UISearchBar
не созданный UISearchController
, он работает нормально:
Почему UISearchController
панель поиска не работает корректно, когда я пытаюсь привязать ее к началу с помощью автозапуска и как это исправить?
Комментарии:
1. openradar.appspot.com/17315600
2. @ElTomato Каково тогда правильное использование?