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

标签 iphone objective-c ios uisearchbar uisearchbardelegate

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

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

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

不幸的是,这使得文本框没有被选中,键盘也没有弹出。您必须再次点击搜索栏才能让这些事情发生。

我该如何解决这个问题?

谢谢。

最佳答案

方法应该是这样的:

- (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 :

关于iPhone UISearchBar 需要点击两次才能被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5343341/

相关文章:

ios - 初始化期间存储到 'currentRange' 的值永远不会被读取?

objective-c - 如何使用 Objective-C 在自定义 View 中绘制文本?

ios - 如何在 SQLite 插入语句中正确转义单引号 - iOS

ios - 腾讯微博API Web App ID

iphone - UISlider 产生奇怪的值

iphone - UIViewController 类在 viewDidLoad 中做了什么?

iPhone:将 FPPopover 类与 UIBarButtonItem 一起使用时出错

iphone - 预渲染 UITabBarController View ?

ios - UITableView 一次只勾选一行

cocoa-touch - 使用 Core Data 最有效的方法是什么?