gpt4 book ai didi

ios - 使用搜索栏取消按钮关闭模态视图 Controller

转载 作者:可可西里 更新时间:2023-11-01 04:30:36 25 4
gpt4 key购买 nike

我有一个带有搜索栏和表格 View 的模态视图 Controller ,基本上是一个弹出式搜索框,使用弹出式搜索框呈现。在顶部它有一个带有取消按钮的 UISearchBar。我正在尝试使用该搜索栏上的取消按钮关闭 View Controller 。

我尝试了很多方法...

-(void) searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
[self dismissViewControllerAnimated:YES completion:nil];
}

[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];

和委托(delegate)方法沿着

[self.delegate dismissModalViewController:self]

-(void) dismissModalViewController:(UIViewController*) viewToDismiss
{
[viewToDismiss dismissViewControllerAnimated:YES completion:nil];
}

我不知道 UISearchBar 是否在干扰,但这似乎是一个合理的假设。否则这是一个常见的话题,我很抱歉提出一个问题,这个问题以前可能已经回答过,但我已经阅读了调频并用谷歌搜索,直到我很沮丧,但仍然没有结果。

最佳答案

我在 UIPopoverPresentationController 中遇到了同样的事情,我在其中使用 UISearchController 来过滤表格 View 。

问题 是您第一次调用 dismissViewController 时它关闭了 UISearchController,但对 UI 没有任何影响,所以很容易认为什么都没发生。正如您提到的,这是 UISearchBar 干扰。

解决方案 是调用 dismissViewController 两次(我不喜欢这样),或者调用 searchController.dismissViewController 然后调用 self.dismissViewController。

swift 3 示例...

if searchController.isActive {
searchController.dismiss(animated: true, completion: {
self.dismiss(animated: true)
})
} else {
dismiss(animated: true)
}

关于ios - 使用搜索栏取消按钮关闭模态视图 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17097288/

25 4 0