我有一个UISearchBar
。 我想为用户点击搜索键盘尽快走开......我也尝试resignFirstResponder
,但没有奏效。 任何帮助,将不胜感激
- (void)viewDidLoad {
[super viewDidLoad];
self.title = NSLocalizedString(@"Songs", @"Search for songs");
NSMutableArray *array = [[NSArray alloc]initWithObjects: @"Book_1", @"Book 2", @"Book _ 4", nil];
self.booksArray = array;
[array release];
search.delegate=self;
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
由于TC
请确保以下的事情。(我希望你是在谈论键盘的搜索按钮。)
- 你已将自己的
IBOutlet
搜索栏与它的可变search
。 - 你是不是去任何地方提到搜索变量在你的代码(重新分配它)。
- 你
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
的方法是在同一viewcontroller
的搜索栏在不在。 - 请的NSLog(@ “搜索栏Instace:%@”,搜索); 在viewDidLoad方法和
searchBarSearchButtonClicked
和验证,如果没有,那么你的这两个例子都是相同的search
是越来越代码的某个地方重新分配。 - 刚过
[searchBar resignFirstResponder];
的NSLog(@ “isFirstResponder:%d”,[搜索栏isFirstResponder]); 和NSLog(@"Next Responder : %@",[searchBar nextResponder]);
- 是
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
,当你点击键盘的搜索按钮方法被调用? 确保没有键盘的responder
(如textField
, textView
或其他searchBar
)是你的后面添加searchBar
可能是无意的。 请通过厦门国际银行也检查一下。
谢谢,
应该通过实施在委托对象的响应方法的工作:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
}
参考: http://www.iphonedevsdk.com/forum/iphone-sdk-development/7148-problem-uisearchbar-navigation-controller.html#post59467