UISearchBar取消按钮Xcode 4.3?

Posted

技术标签:

【中文标题】UISearchBar取消按钮Xcode 4.3?【英文标题】:UISearchBar cancel button Xcode 4.3? 【发布时间】:2012-03-04 06:35:22 【问题描述】:

如何让取消按钮仅在用户开始在 UISearchBar 中输入文本时出现?

我试过了

- (void)searchBarTextDidBeginEditing:(UISearchBar *)aSearchBar 
self.searchBar.showsCancelButton = YES;

但它不起作用,我认为将其设置为“showsCancelButton”没有任何问题,因为即使我说

NSLog(@"Typing");

它不会打印到屏幕上。 Xcode 4.3 中是否有另一种方法可以做到这一点? 还有一种方法可以知道取消按钮是否被按下?

【问题讨论】:

【参考方案1】:

您确定该类是searchBar 的代表吗?尝试在viewDidLoad 方法中设置self.searchBar.delegate=self;

【讨论】:

【参考方案2】:

您的方法没有返回 BOOLean 值“YES”。这应该有效:

// show search bar's cancel button when editing
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar 

    searchBar.showsCancelButton = YES;

    return YES;

// hide search bar's cancel button when not editing
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar 

    searchBar.showsCancelButton = NO;

    return YES;

【讨论】:

【参考方案3】:

试试这个:

- (void)searchBarTextDidBeginEditing:(UISearchBar *)aSearchBar 
  aSearchBar.showsCancelButton = YES;

【讨论】:

以上是关于UISearchBar取消按钮Xcode 4.3?的主要内容,如果未能解决你的问题,请参考以下文章

UISearchBar 取消按钮颜色?

UISearchBar 取消

在 UISearchBar 中设置取消按钮的样式

单击 UISearchBar 的取消按钮后,如何使用 UISearchBar 刷新我的 UITableView?

UIToolbar 中的 UISearchBar 不会显示取消按钮

如何在iOS 7中更改文本UISearchBar的取消按钮颜色?