Tom*_*idd 6 uisearchbar modalviewcontroller ios uisearchcontroller
我有一个带有搜索栏和tableview的模态视图控制器,基本上是一个弹出式搜索框,使用pop-over segue呈现.在顶部有一个带取消按钮的UISearchBar.我正在尝试使用该搜索栏上的取消按钮关闭视图控制器.
我尝试了很多方法......
-(void) searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
[self dismissViewControllerAnimated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
和
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
和委托方法
[self.delegate dismissModalViewController:self]
Run Code Online (Sandbox Code Playgroud)
同
-(void) dismissModalViewController:(UIViewController*) viewToDismiss
{
[viewToDismiss dismissViewControllerAnimated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
我不知道UISearchBar是否在干扰,但这似乎是一个合理的假设.否则这是一个常见的话题,我为提出一个之前可能已经回答的问题而道歉但是我已经阅读了fm并用谷歌搜索直到我是蓝色的并且仍然没有结果.
我在UIPopoverPresentationController中经历了同样的事情,我在其中使用UISearchController来过滤tableview.
该问题是,你第一次叫dismissViewController它驳回UISearchController,但对用户界面没有影响,所以很容易让人联想到什么都没有发生.如你所说,这就是UISearchBar的干扰.
一个解决方案是两次调用dismissViewController(我不喜欢这个),或者调用searchController.dismissViewController,然后调用self.dismissViewController.
Swift 3示例......
if searchController.isActive {
searchController.dismiss(animated: true, completion: {
self.dismiss(animated: true)
})
} else {
dismiss(animated: true)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2251 次 |
| 最近记录: |