Jas*_*ker 5 uitableview uisearchbar uisearchbardisplaycontrol ios ios7
我们有UITableView一个searchbar与添加的searchDisplayController.
我们希望在整个应用程序中保持半透明状态.
我对导航栏和其他栏有半透明效果,但在使用显示控制器时没有搜索栏.在应用程序的一部分,当我们使用搜索栏而不是显示控制器时,半透明度设置正确.
如何UISearchBar将显示控制器的半透明属性设置为NO?
编辑:这是我的代码 viewDidLoad
self.navigationController.navigationBar.translucent = NO;
BOOL t = self.searchDisplayController.searchBar.translucent;
self.searchDisplayController.searchBar.translucent = NO;
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.searchDisplayController.searchBar.barTintColor = [UIColor redColor];
UIBarStyle b1 = self.searchDisplayController.searchBar.barStyle;
UISearchBarStyle b2 = self.searchDisplayController.searchBar.searchBarStyle;
BOOL t2 = self.searchDisplayController.searchBar.translucent;
Run Code Online (Sandbox Code Playgroud)
在调试器中运行,t = YES,t2 = YES.b1 = UIBarStyleDefault和b2 = UISearchBarStyleDefault.我在错误的位置设置NO吗?香港专业教育学院尝试过storyboard这里的设置viewDidLoad
对于UISearchBarStyleProminent:
1)务必检查"属性"检查器中搜索栏的"半透明"框.
2)将以下内容添加到viewDidLoad:
self.navigationController.navigationBar.translucent = NO; // If you have a navBar
self.searchDisplayController.searchBar.translucent = NO;
Run Code Online (Sandbox Code Playgroud)
编辑自@RudolfAdamkovic:
"我发现
UISearchBarStyleProminent,执行[以下]会有所帮助.这样,你可以在故事板中继续使用它."
searchBar.translucent = YES;
searchBar.translucent = NO;
对于UISearchBarStyleMinimal:
为了让最小的搜索栏不是半透明的,我已经整理了一个解决方法.
1)务必检查"属性"检查器中搜索栏的"半透明"框.
2)将以下代码添加到viewDidLoad:
self.navigationController.navigationBar.translucent = NO;
self.searchDisplayController.searchBar.translucent = NO;
self.searchDisplayController.searchBar.backgroundColor = [UIColor desiredColor];
Run Code Online (Sandbox Code Playgroud)
3)需要将UIView添加到viewController中.此视图需要为20px高度,并且应与searchBar.barTintColor具有相同的颜色.
注意:我认为需要这种解决方法,因为:"UISearchBarStyleMinimal样式不提供默认的背景颜色或图像,但如果自定义则会显示一个." 因此,为UISearchBarStyleMinimal获取此功能的唯一方法是设置backgroundColor.
有关更多详细信息,请参阅UISearchBar 文档.
| 归档时间: |
|
| 查看次数: |
11080 次 |
| 最近记录: |