5

我有一个UITableview不占用整个屏幕(截图)。在 iOS 6 中一切正常。但在 iOS 7 中,当用户搜索时,搜索结果表会占据整个视图(截图)。

为了解决这个问题,我尝试按照这个答案中的描述手动设置框架。外观现在是正确的(屏幕截图),但现在左上角的“<”按钮在显示搜索结果表时不会接收点击事件。

似乎searchResultsTableView正在添加一个拦截触摸事件的全屏背景视图。为了证明这一点,我将此代码添加到didShowSearchResultsTableView

   controller.searchResultsTableView.superview.backgroundColor = [UIColor blueColor];`

这张截图证实了我的假设。

如何解决此问题以允许“<”按钮接收点击事件?我想避免修改controller.searchResultsTableView.superview,以便我的更改不会在未来的 iOS 版本中中断。

iOS 7 中的哪些变化导致这种行为开始发生?

4

1 回答 1

2

我仍在寻找更好的解决方案,但目前我的解决方案是在 viewControllers 中viewDidLayoutSubviews告诉您的视图移到前面。代码看起来像这样。

- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];

    [self.view bringSubviewToFront:self.navigationBar];
}
于 2013-11-07T09:50:58.183 回答