1

我知道我可以将showsCancelButton设置NOUISearchBar ...直到您点击搜索栏文本字段,然后取消按钮仍然出现!(至少它对我有用。)

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

4

4 回答 4

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;
}

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

于 2009-09-28T06:25:15.490 回答
1
for (UIView *searchBarSubview in [searchBar subviews]) {

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

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

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

于 2011-08-17T08:09:42.253 回答
0

如果您使用界面生成器,它很容易显示。默认情况下它就在那里。我在我的应用程序中使用了搜索栏,并且搜索栏文本字段有一个“X”来清除文本字段

于 2009-09-26T12:33:42.577 回答
0

可能是“X”只是为了清除搜索字段而不是取消搜索,因此一旦搜索开始,取消按钮必须保留,无论showsCancelButton是什么。

于 2009-09-27T01:17:35.123 回答