【问题标题】:Change position of UISearchController in Swift在 Swift 中更改 UISearchController 的位置
【发布时间】:2017-08-18 17:56:27
【问题描述】:

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

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

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 }

【问题讨论】:

    标签: ios swift uitableview uisearchbar uisearchcontroller


    【解决方案1】:

    1#你可以通过改变tableview的大小和位置来解决这个问题,从tableview开始到屏幕的中间,在用户开始搜索后你可以将frame更改为View Boundary

    2# Better => 您可以使用 UItextField 创建自己的搜索控制器并根据需要进行自定义

    【讨论】:

    • 我尝试了第一个,但我希望 TableView 不显示,当我隐藏 TableView 时,搜索栏也隐藏了。
    【解决方案2】:

    我通过在 storyboard 中创建 UIView 并在视图中添加 searchcontroller 来解决它。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      相关资源
      最近更新 更多