在文本字段中显示UISearchBar“X”与相邻的“取消”按钮

时间:2009-09-02 20:30:49

标签: iphone-sdk-3.0 uikit uisearchbar uisearchdisplaycontroller cancel-button

我知道我可以将 showsCancelButton 设置为NO以获取 UISearchBar ...直到您点按搜索栏文本字段,然后出现取消按钮无论如何! (至少它对我有用。)

有没有办法在 UISearchBar 文本字段中的圆圈中显示“X”而不是在其旁边显示单独的“取消”按钮?请注意,此按钮仅在搜索模式处于活动状态时显示给我,这与 showsCancelButton 的设置无关。

4 个答案:

答案 0 :(得分:2)

试试这个

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
    // only show the status bar's cancel button while in edit mode
    mySearchBar.showsCancelButton = NO;

}
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
    mySearchBar.showsCancelButton = NO;
}

使用此取消按钮时不会显示。

答案 1 :(得分:1)

for (UIView *searchBarSubview in [searchBar subviews]) {

    if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) {

         [(UITextField *)searchBarSubview setClearsOnBeginEditing:YES];
    }
}

启用cancelButton尝试searchBar.showsCancelButton = YES; 试试上面的代码行。

答案 2 :(得分:0)

如果您使用界面构建器,它很容易显示。默认情况下是。我在我的应用程序中使用了搜索栏,searchbartextfield有一个“X”来清除文本域

答案 3 :(得分:0)

可能是“X”仅用于清除搜索字段而不是取消搜索,因此无论 showsCancelButton ,搜索在播放时都必须保留取消按钮