快速浏览了有关搜索栏的教程,并认为我可以使用searchBar.sizeToFit()来自动调整搜索栏的大小,但是搜索栏的右端仍然延伸到屏幕之外。

class MainViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UISearchResultsUpdating, UISearchBarDelegate {

     var searchController = UISearchController(searchResultsController: nil)
     override func viewDidLoad() {
         super.viewDidLoad()
         searchController.searchBar.delegate = self
         searchController.searchResultsUpdater = self
         searchController.dimsBackgroundDuringPresentation = false
         searchController.searchBar.sizeToFit()
         tableView.tableHeaderView = searchController.searchBar
         definesPresentationContext = true
    }}

我尝试使用searchController.searchBar.frame = CGRectMake(0, 0, 200, 200)之类的方法手动设置框架,但宽度仍在屏幕之外。 Storyboard 中不存在搜索栏,但是tableView存在。

最佳答案

如果您使用的是自动版式,请使用前缘和后缘而不是宽度限制。

关于ios - UISearchController搜索栏宽度不变,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32293307/

10-13 04:39