在Swift中更改UISearchController的位置

时间:2017-08-18 17:56:27

标签: ios swift uitableview uisearchbar uisearchcontroller

我有一个UITableView,它有UISearchController(以编程方式添加)。 SearchController被添加到TableView的标题中。(截图2)。但是,我想在应用程序打开时首先在屏幕中间有一个搜索视图,在用户开始搜索后,TableView会出现并开始显示数据。(截图1)

我尝试在Storyboard中添加UISearchBar并将其连接到UISearchController但不能直接分配它。

Screenshot 2 Screenshot 1

let searchController = UISearchController(searchResultsController: nil)

override func viewDidLoad() {
    super.viewDidLoad()
    // Setup the Search Controller
    searchController.searchResultsUpdater = self
    searchController.dimsBackgroundDuringPresentation = false
    definesPresentationContext = true
    mTableView.tableHeaderView = searchController.searchBar }

2 个答案:

答案 0 :(得分:0)

1#您可以根据需要通过将tableview大小和位置从tableview开始到屏幕中间来处理这一点,在用户开始搜索后,您可以将帧更改为View Boundary

2#Better =>您可以使用UItextField创建自己的搜索控件和custamize as wanted

答案 1 :(得分:0)

我通过创建一个UIView内部故事板并在视图中添加searchcontroller来解决它。

  1. 在故事板中创建UIView
  2. 添加IBOutlet
  3. 将SearchController添加为UIView的子视图。