【发布时间】:2014-01-20 05:21:59
【问题描述】:
iOS 7 中的 UISearchbar 在两种情况下消失似乎存在问题。首先,控制器相当简单,它有一个包含滚动视图的 nib,其中包含 uisearch 栏和一些内容。 ui 搜索栏位于滚动视图的顶部。因此,当我滚动滚动视图以使 uisearchbar 不再可见并且我退出并重新输入控制器时,uisearch 栏不再可见。单击该区域使其再次出现。当我快速双击它时,uisearchbar 也会消失。这个控制器在 iOS 6 上运行良好,这些问题现在才发生,因为我正在为 ios 7 构建
编辑
调查导致 uisearchbar 消失的双击问题。似乎快速双击时的 uisearch 栏在显示它时从视图层次结构中删除了 uisearchbar,但在它被关闭时从未读回它。所以我可以通过这样做来解决这个问题
- (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller
{
// workaround for bug in ios 7 were quickly double tapping uisearchbar (e.g it appears and get dismissed quickly)
// does not re add the uisearch bar to the correct view.
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
UIView *parentView = [self.scrollView.subviews objectAtIndex:0];
[parentView addSubview:self.searchDisplayController.searchBar];
}
return;
}
【问题讨论】:
标签: ios objective-c ios7 uisearchbar