use*_*ser 39 uinavigationbar ios7
同样的问题本,但问题是(当时因为NDA)的回避,不再活跃.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** Illegal property type, c for appearance setter, _installAppearanceSwizzlesForSetter:'
Run Code Online (Sandbox Code Playgroud)
我正在设置viewDidLoad我的初始视图控制器.setTranslucent出现自动完成,并且在崩溃和谈论混合和事情之前不会抱怨.
有关这方面的任何信息都很棒,我仍然非常难以在我的应用程序中获得一致的状态栏外观.
hgw*_*tle 55
似乎该translucent属性无法使用UIAppearance.我不确切知道为什么,但我猜有些属性不受支持.但是,我通过创建自定义UIViewController并使我的应用程序中的所有其他viewControllers成为该自定义viewController的子类来解决这个问题.这样,我可以设置translucent将由我的应用程序中的所有其他viewControllers继承的全局属性(例如在您的情况下).我知道这是一个很大的改变,但我希望它有所帮助.
****编辑****
从iOS 8开始,可以使用UIAppearance设置半透明度:
目标C.
if([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {
[[UINavigationBar appearance] setTranslucent:YES];
}
Run Code Online (Sandbox Code Playgroud)
迅速
if (UIDevice.currentDevice().systemVersion as NSString).floatValue >= 8.0 {
UINavigationBar.appearance().translucent = true
}
Run Code Online (Sandbox Code Playgroud)
你可以通过指定一个不存在的图像来欺骗它,这将使工具栏变得不透明
[[UIToolbar appearance] setBackgroundColor:[UIColor colorWithRed:219.0/255.0 green:67.0/255.0 blue:67.0/255.0 alpha:1.0]];
[[UIToolbar appearance] setBackgroundImage:[[UIImage alloc] init] forToolbarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17266 次 |
| 最近记录: |