gpt4 book ai didi

iphone - SearchBar 从 iOS 7 的 headerview 中消失

转载 作者:太空狗 更新时间:2023-10-30 03:11:13 27 4
gpt4 key购买 nike

我有一个 tableview 用于显示我的应用程序中的设备列表。调用 viewWillAppear 时,我将 self.searchDisplayController.searchBar 作为 subview 添加到 headerView。然后我分配 self.tableView.tableHeaderView = headerView。它看起来像这样: enter image description here

我向下滚动 tableview,使 headerview 离开 View ,然后通过点击一个单元格转到其他 View Controller 。当我回到这个 tableView 时,向上滚动到 headerView,searchBar 变得不可见,但是在点击不可见区域时,searchDisplayController 被激活并且取消按钮不起作用。这仅适用于 iOS 7。为什么会这样? enter image description here
注意:只有当我返回 tableViewController 时 headerView 不在 View 中时才会发生这种情况。

最佳答案

我刚刚遇到了同样的问题。当我在结束搜索状态调试到 UISearchDisplayController 的委托(delegate)方法时,searchBar 成为 UIView 的 subview ,而不是 UITableView。请看下面的代码:

- (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller
{
//My Solution: remove the searchBar away from current super view,
//then add it as subview again to the tableView
UISearchBar *searchBar = controller.searchBar;
UIView *superView = searchBar.superview;
if (![superView isKindOfClass:[UITableView class]]) {
NSLog(@"Error here");
[searchBar removeFromSuperview];
[self.tableView addSubview:searchBar];
}
NSLog(@"%@", NSStringFromClass([superView class]));
}

我的解决方案是将 searchBar 从当前 super View 中移除,然后将其作为 subview 再次添加到 tableView 中。我已经测试成功了。希望有所帮助!

问候

关于iphone - SearchBar 从 iOS 7 的 headerview 中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19044156/

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