• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 09:51:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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

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



Best Answer-推荐答案


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

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

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

然后,在 searchBarCancelButtonClicked: (假设您已经为搜索栏创建了一个 IBOutlet),您可以这样做:
-(void)searchBarCancelButtonClickedUISearchBar *)searchBar {
    [self clearSearchBar:self.searchBar];
}

您也可以调用 clearSearchBar:您需要清除它的其他任何地方。

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

您也可以调用 searchBarCancelButtonClicked:像这样:
[self.searchBar.delegate searchBarCancelButtonClicked:self.searchBar];

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap