有没有一种方法可以禁用整个应用程序的UINavigationBar Translucency?
我知道使用[self.navigationController.navigationBar setTranslucent:NO]
可以解决单个 Controller 的此问题,但是我的应用程序中有很多UINavigationBars,这是一个非常繁琐的解决方案。
我已经尝试过[[UINavigationBar appearance] setTranslucent:NO]
,但是令人惊讶地不支持该功能。这样做会导致Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** Illegal property type, c for appearance setter, _installAppearanceSwizzlesForSetter:'
如果需要,我可以遍历整个应用程序的设置UINavigationBars来逐个禁用半透明,但是必须对此问题有一些更优雅的解决方案...
最佳答案
如果将堆栈中第一个导航栏的透明度设置为false
[self.navigationController.navigationBar setTranslucent:NO]
,它将在所有推送到该堆栈的以下NavigationViewController中反射(reflect)出来。
关于ios - iOS 7 : Disable UINavigationBar Translucency For Entire App,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18883301/