gpt4 book ai didi

ios - 在 UINavigationController 中的 TableViewController 中消失 UISearchController

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:40:59 24 4
gpt4 key购买 nike

我制作了一个带有 UISearchBar 作为表头的 UITableView Controller 。

然后我将这个 View Controller 嵌入到 UINavigationController 中,作为 Root View Controller 。

现在,当我点击搜索栏时,搜索栏似乎消失并显示白屏。出现键盘,但没有搜索栏。表格 View 可以滚动,但搜索栏只是消失了。

当我实现此 UITableViewController 而不 导航 Controller 时,它工作得很好。但是关于导航 Controller 的一些事情让一切都变得乏味起来。

最佳答案

我遇到过有时会发生的相同问题,尤其是对于行数较少(少于 50 行)的 TableView 。看起来 searchBar 已从 View 层次结构中删除,恰恰是从作为 UISearchControllerView 子项的容器 View 中删除。

我找到了一种解决方法,可以手动将搜索栏添加回 UISearchControllerView 容器 subview 的 subview 。这是在委托(delegate)函数(来自 UISearchControllerDelegate)didPresentSearchController 中实现的:

func didPresentSearchController(searchController: UISearchController) {
if searchController.searchBar.superview == nil {
for searchCtrlChildView in searchController.view.subviews {
if searchCtrlChildView.frame.origin == CGPoint(x: 0, y: 0) { //Discriminate if by chance there was more than one subview
searchCtrlChildView.addSubview(searchController.searchBar)
break
}
}
}
}

我也已就此向 Apple 提交了雷达,因为它未在 iOS 8.4 中修复

关于ios - 在 UINavigationController 中的 TableViewController 中消失 UISearchController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29755541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com