Почему мой UISearchBar уменьшается при нажатии? - PullRequest
0 голосов
/ 11 января 2020

Когда я загружаю свой код, UISearchBar отображается нормально. Однако после того, как я коснусь поля поиска, панель поиска сжимается и опускается вертикально ниже. Код:

class MainViewController: UIViewController, UISearchBarDelegate {

    var searchBarController: UISearchController?
    var tableViewController: UITableViewController?
    var searchBar: UISearchBar?

    override func viewDidLoad() {
        super.viewDidLoad()

        self.view.backgroundColor = .blue

        let tableViewController = UITableViewController(style: .plain)
        let searchBarController = UISearchController(searchResultsController: tableViewController)

        self.searchBarController = searchBarController
        self.tableViewController = tableViewController

        self.searchBar = self.searchBarController?.searchBar
        self.searchBar?.frame = CGRect(x: 0, y: 50, width: self.view.frame.size.width, height: 75)
        self.searchBar?.searchBarStyle = .prominent
        self.view.addSubview(self.searchBar!)

    }    
}

Вот изображение до и после нажатия:

enter image description here

enter image description here

1 Ответ

0 голосов
/ 11 января 2020

UIkit изменит размер представления searchcontroller на layoutSubviews(), что приведет к сбросу вашего фрейма.

Если вы хотите контролировать размер панели поиска независимо, я предлагаю вам сделать searchbar.translatesAutoresizingMaskIntoConstraints = false и / или в viewDidLayoutSubview() измените размер панели поиска с searchbar.frame = ...

...