iPhone UISearchBar需要两次点击才能被选中

时间:2011-03-17 18:13:14

标签: iphone objective-c ios uisearchbar uisearchbardelegate

我的应用程序中有一个UISearchBar,我正在运行以下代码:

- (void)searchBarShouldBeginEditing:(UISearchBar *)searchBar {
    [searchBar setShowsCancelButton:YES animated:YES];
}

因此,当用户点击搜索栏时,旁边会弹出一个取消按钮。

不幸的是,这使得文本框没有被选中,键盘也没有弹出。您必须再次单击搜索栏才能完成这些操作。

我该如何解决这个问题?

感谢。

2 个答案:

答案 0 :(得分:1)

方法应该是这样的:

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {
    [searchBar setShowsCancelButton:YES animated:YES];
    return YES;
}

关键元素是在此方法中返回YES,表示它实际上应该开始编辑。

此处的文档:http://developer.apple.com/library/ios/documentation/uikit/reference/UISearchBarDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UISearchBarDelegate/searchBarShouldBeginEditing

答案 1 :(得分:0)

你可以改变你的代码,如下所示

 [searchBar setShowsCancelButton:NO animated:YES];

我认为您在上述方法中传递YES