【问题标题】:How to fix jumping upon clicking search bar?如何解决点击搜索栏时的跳跃问题?
【发布时间】:2019-06-11 09:56:57
【问题描述】:

我尝试添加一个简单的搜索控制器,但每当我单击它以使其变为活动状态时,它就会跳出屏幕。为什么会发生这种情况?我检查了所有代码,我没有使用约束或任何东西进行操作。

我通过以下函数初始化我的搜索控制器(并在 ViewDidLoad 中调用它):

private func initSearchController() {
    self.searchController = ({
        let controller =     UISearchController(searchResultsController: nil)
        controller.searchResultsUpdater = self
        controller.searchBar.delegate = self
        controller.dimsBackgroundDuringPresentation = false
        controller.searchBar.sizeToFit()
        controller.searchBar.barStyle = UIBarStyle.black
        controller.searchBar.barTintColor = UIColor.white
        controller.searchBar.backgroundColor = UIColor.clear
        self.tableView.tableHeaderView = controller.searchBar
        return controller
    })()
    self.tableView.reloadData()
}

【问题讨论】:

  • 你试过self.searchController.hidesNavigationBarDuringPresentation = false
  • 实际上,我最终做到了。尽管如此,假设它并不令人满意,因为最初,我希望我的导航栏被搜索栏胜过。基本上是这样的:1)搜索栏变为活动状态2)导航栏隐藏自身3)搜索栏代替导航栏4)取消时一切都回到原位至少,我在大多数解决方案中都看到了这个动画,对我来说它是最好的
  • 如果您觉得我的回答有用,请检查一下它是不是真的答案?
  • @matt 不,搜索控制器不应该突然消失

标签: ios swift uisearchcontroller


【解决方案1】:
self.searchController.hidesNavigationBarDuringPresentation = false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 2022-08-17
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多