簡體   English   中英

如何在 UISearchBar 中觸發取消按鈕?

[英]How to trigger cancel button in UISearchBar?

如何在 UISearchBar 中以編程方式觸發取消按鈕,就像您點擊了取消按鈕一樣?

我在 UITableView 的頂部有一個 UISearchBar,搜索后,當有人選擇一行時,我想以編程方式觸發 UISearchBar 中的取消按鈕?

編輯:沒有用戶交互。

對於使用搜索顯示控制器的視圖控制器,您可以設置

self.searchDisplayController.active = NO;
// or:
[self.searchDisplayController setActive:NO animated:YES];

關閉搜索界面。

您需要實現UISearchBarDelegate 完成后,請使用:

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar

告訴委托取消按鈕已被點擊。

然后使用:

[self searchBarCancelButtonClicked:yourSearchBar];

對於新的UISearchController (在 2014 年隨 iOS 8 引入),您可以調用:

[self.searchController setActive:FALSE];

要么

self.searchController.active = FALSE;

(沒有動畫標志,我發現它總是有動畫效果。)

對於iOS 8,使用UISearchController ,以編程方式實現取消按鈕動作,使用:

[self.searchController setActive:NO]; 

對於 Swift 4.2 版本,您可以編寫如下代碼:

searchController?.isActive = false
self.navigationItem.searchController?.isActive = false // above iOS 8.0
// or:    
self.searchDisplayController.active = NO; // was deprecated in iOS 8.0
// or:
[self.searchDisplayController setActive:NO animated:YES]; // Obejective-C

這些是完成上述任務的一些變體

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM