我的UITableview
没有占据整个屏幕(screenshot)。在iOS 6中一切正常。但在iOS 7中,当用户搜索时,搜索结果表会占用整个视图(screenshot)。
要解决此问题,我尝试按照this answer中的说明手动设置框架。现在外观正确(screenshot),但现在“<”显示搜索结果表时,左上角的按钮不会收到点击事件。
似乎searchResultsTableView
正在添加一个拦截触摸事件的全屏背景视图。为了证明这一点,我将此代码添加到didShowSearchResultsTableView
:
controller.searchResultsTableView.superview.backgroundColor = [UIColor blueColor];`
这screenshot证实了我的假设。
如何修复此问题以允许“<”按钮接收点击事件?
我想避免修改controller.searchResultsTableView.superview
,以便我的更改不会在iOS的未来版本中中断。
iOS 7中的哪些变化导致这种行为开始发生?
答案 0 :(得分:2)
我仍在寻找更好的解决方案,但目前我的解决方案是在viewControllers viewDidLayoutSubviews
中告诉你的观点转移到前面。代码看起来像这样。
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
[self.view bringSubviewToFront:self.navigationBar];
}