作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
有没有办法为整个应用程序禁用 UINavigationBar Translucency?
我知道使用 [self.navigationController.navigationBar setTranslucent:NO]
可以解决单个 Controller 的这个问题,但是我的应用程序中有很多 UINavigationBars,这很漂亮繁琐的解决方案。
我试过 [[UINavigationBar appearance] setTranslucent:NO]
,但令人惊讶的是该功能不受支持。这样做会导致 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*** 非法属性类型,外观 setter 的 c,_installAppearanceSwizzlesForSetter:”
如果必须的话,我可以通过我的整个应用程序设置 UINavigationBars 来一个一个地禁用半透明,但是必须有一些更优雅的解决方案来解决这个问题......
最佳答案
如果你设置栈中第一个导航栏的半透明为false
[self.navigationController.navigationBar setTranslucent:NO]
,它会反射(reflect)在后面的所有被推送到该堆栈的 NavigationViewController。
关于iOS 7 : Disable UINavigationBar Translucency For Entire App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18883301/
我是一名优秀的程序员,十分优秀!