【问题标题】:UISearchbar vanishes when in UIScrollViewUISearchbar 在 UIScrollView 中消失
【发布时间】: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


    【解决方案1】:

    您是否尝试过进行一些 UI 刷新工作? 喜欢:

    - (void)viewWillAppear:(BOOL)animated{ [self.scrollView setNeedsLayout]; }

    【讨论】:

    • 否不能解决问题。滚动视图中的其他元素显示很好,它只是不时消失的搜索栏。此外,这也不能解决快速连续两次点击 uisearch 栏时它消失的情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 2014-11-18
    • 2011-04-09
    • 2015-10-22
    • 2014-01-22
    相关资源
    最近更新 更多