Ver*_*sen 3 uisearchbar ios ios7
在iOS 7中,当用户以前在UISearchBar中清除文本时,蓝色的"搜索"按钮将被禁用.有没有办法改变它,所以它总是启用?我希望用户能够在没有文本时点击"搜索",以显示列表中的所有项目,而不是按搜索词对其进行过滤.(当前,当用户尝试清除以前的搜索词时,蓝色的"搜索"按钮将被禁用.)
我可以在我的委托的searchBarTextDidEndEditing回调中触发一个新搜索,这样Dismiss键盘按钮会生成一个包含所有结果的刷新列表...但理想情况下,即使字段中没有文本,我也希望蓝色搜索按钮可用.这可能吗?
Apple改变UISearchBar了iOS 7中的结构.我发现了iOS 7和之前iOS版本的组合解决方案.
- (void)searchBarTextDidBeginEditing:(UISearchBar *) bar
{
UITextField *searchBarTextField = nil;
NSArray *views = ([[[UIDevice currentDevice] systemVersion] floatValue] < 7.0f) ? bar.subviews : [[bar.subviews objectAtIndex:0] subviews];
for (UIView *subview in views)
{
if ([subview isKindOfClass:[UITextField class]])
{
searchBarTextField = (UITextField *)subview;
break;
}
}
searchBarTextField.enablesReturnKeyAutomatically = NO;
}
Run Code Online (Sandbox Code Playgroud)