我知道我可以将showsCancelButton设置NO
为UISearchBar ...直到您点击搜索栏文本字段,然后取消按钮仍然出现!(至少它对我有用。)
有没有办法在UISearchBar文本字段中的圆圈中显示“X”,而不是让那个单独的取消按钮显示在它旁边?请注意,此按钮仅在搜索模式处于活动状态时为我显示,这与showsCancelButton的设置无关。
我知道我可以将showsCancelButton设置NO
为UISearchBar ...直到您点击搜索栏文本字段,然后取消按钮仍然出现!(至少它对我有用。)
有没有办法在UISearchBar文本字段中的圆圈中显示“X”,而不是让那个单独的取消按钮显示在它旁边?请注意,此按钮仅在搜索模式处于活动状态时为我显示,这与showsCancelButton的设置无关。
尝试这个
- (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;
}
使用此取消按钮时不会显示。
for (UIView *searchBarSubview in [searchBar subviews]) {
if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) {
[(UITextField *)searchBarSubview setClearsOnBeginEditing:YES];
}
}
启用 cancelButton 试试searchBar.showsCancelButton = YES;
上面的代码行。
如果您使用界面生成器,它很容易显示。默认情况下它就在那里。我在我的应用程序中使用了搜索栏,并且搜索栏文本字段有一个“X”来清除文本字段
可能是“X”只是为了清除搜索字段而不是取消搜索,因此一旦搜索开始,取消按钮必须保留,无论showsCancelButton是什么。