我正在尝试加载覆盖我的导航控制器的基本搜索视图(即,不推送到导航堆栈上)。为了实现这一点,我正在使用[self presentModalViewController:vc animated:NO]
.
全模态视图演示代码:
- (void)searchButtonPressed
{
TMSearchViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"Search"];
[self presentModalViewController:vc animated:NO];
vc.searchDisplayController.searchBar.delegate = self;
}
在屏幕上显示模态视图后,将运行以下代码(在搜索视图的控制器内):
- (void)viewDidAppear:(BOOL)animated
{
[self.searchDisplayController.searchBar becomeFirstResponder];
[self.searchDisplayController setActive:YES animated:NO];
}
问题是,当搜索视图呈现时,它会做正常的事情,即用透明的黑色视图将表格视图涂黑,但它似乎没有覆盖表格视图的分隔符,如下所示:
我真的不知道如何解决它。我最好的猜测是,这与模态控制器加载我无法正确理解的视图的过程有关。我已经尝试将其becomeFirstResponder
移至该viewDidLoad
方法。我还尝试重新排序setActive
方法和becomeFirstResponder
方法,同时将方法更改setActive
为animated:NO
and YES
。
到目前为止,无济于事,我显然不明白这里的某些东西,我猜我正在以一种无意的方式使用某些东西。请帮忙,谢谢:)
编辑:有趣的是,当我单击搜索栏上涂黑的表格视图resignFirstResponder
,然后再次单击搜索栏内部以激活becomeFirstResponder
它时,它加载正常,没有故障,它的意思是什么。