我在 UINavigationBar 上方添加 UISearchBar 并设置 UIsearchbar shownCancelButton YES,在 iOS6 中工作正常,但在 iOS7 中不显示取消按钮。
我使用下面的代码片段
UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 600, 44)];
searchBar.showsCancelButton = YES;
searchBar.translucent = NO;
[searchBar setTintColor:[UIColor redColor]];
searchBar.backgroundColor = [UIColor yellowColor];
[self.navigationController.navigationBar addSubview:searchBar];
由于某种原因,iOS7 在添加到导航栏时不显示取消按钮。如果您尝试将其设置为 navigationItem 的 titleView,也会发生这种情况。
您可以通过先将 UISearchBar 包装在另一个 UIView 中来规避此问题。以下是我如何将其作为 titleView 来实现:
UISearchBar *searchBar = [UISearchBar new];
searchBar.showsCancelButton = YES;
[searchBar sizeToFit];
UIView *barWrapper = [[UIView alloc]initWithFrame:searchBar.bounds];
[barWrapper addSubview:searchBar];
self.navigationItem.titleView = barWrapper;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)