gpt4 book ai didi

ios - 仅使用 UISearchBar 时如何触发 "cancel search"?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:13:16 25 4
gpt4 key购买 nike

我有一个 TableView ,其标题显示了一个 UISegmentedControl 和一个 UISearchBar。请记住,我没有使用 UISearchController。当我搜索完当前列表并切换到不同的段时,我想取消搜索并使用新数据重新加载列表。

目前我正在手动清除搜索文本、动画化取消按钮并隐藏键盘。但我也在我的 searchBarCancelButtonClicked 方法中这样做。

有没有办法在只使用 UISearchBar 时以编程方式取消搜索(清除文本、隐藏键盘和隐藏取消按钮)?

最佳答案

不,没有办法自动清除文本字段、隐藏键盘等。尽管这看起来是常见的功能,但由每个开发人员决定如何实现它。 Apple 只是提供了在用户点击取消按钮时捕获事件的功能。

通常,我会在 View Controller 中创建一个本地函数,例如:

-(void)clearSearchBar:(UISearchBar *)searchBar {
searchBar.Text = @"";
[searchBar resignFirstResponder];
...
}

然后,在 searchBarCancelButtonClicked: 中(假设您已经为搜索栏创建了一个 IBOutlet),您可以这样做:

-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
[self clearSearchBar:self.searchBar];
}

然后您还可以在任何需要清除它的地方调用 clearSearchBar:

显然,这里可以使用类别来避免重复代码。

您也可以像这样调用 searchBarCancelButtonClicked::

[self.searchBar.delegate searchBarCancelButtonClicked:self.searchBar];

关于ios - 仅使用 UISearchBar 时如何触发 "cancel search"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31995119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com