ios - 仅使用 UISearchBar 时如何触发 "cancel search"?
<p>我有一个表 View ,其标题显示 <code>UISegmentedControl</code>和一个 <code>UISearchBar</code> .请记住,我没有使用 <code>UISearchController</code> .当我搜索了当前列表并切换了不同的段时,我想取消搜索并使用新数据重新加载列表。<br><br>目前我正在手动清除搜索文本、动画取消按钮和隐藏键盘。但我也在我的 <code>searchBarCancelButtonClicked</code> 中这样做方法。<br><br>仅使用 UISearchBar 时,有没有办法以编程方式取消搜索(清除文本、隐藏键盘和隐藏取消按钮)?</p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p>不,没有办法自动清除文本字段、隐藏键盘等。尽管它看起来很常见,但每个开发人员都可以决定如何实现它。 Apple 只提供了在用户点击取消按钮时捕捉事件的能力。<br><br>通常,我会在 ViewController 中创建一个本地函数,例如:<br><pre><code>-(void)clearSearchBar:(UISearchBar *)searchBar {
searchBar.Text = @"";
;
...
}
</code></pre><br>然后,在 <code>searchBarCancelButtonClicked:</code> (假设您已经为搜索栏创建了一个 IBOutlet),您可以这样做:<br><pre><code>-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
;
}
</code></pre><br>您也可以调用 <code>clearSearchBar:</code>您需要清除它的其他任何地方。<br><br>显然,这里可以使用类别来避免重复代码。<br><br>您也可以调用 <code>searchBarCancelButtonClicked:</code>像这样:<br><pre><code>;
</code></pre></p>
<p style="font-size: 20px;">关于ios - 仅使用 UISearchBar 时如何触发"cancel search"?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/31995119/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/31995119/
</a>
</p>
页:
[1]