我找到了
navigationController.navigationBar.isOpaque
和
navigationController.navigationBar.isTranslucent
具有相同的效果。
只是想知道是否有人知道这两者之间有什么区别,谢谢!
答案 0 :(得分:0)
isTranslucent也会影响视图与导航栏的交互方式,无论是否在下方滚动。
答案 1 :(得分:0)
isTranslucent: 一个布尔值,指示导航栏是半透明(true)还是不透明(false)。 isOpaque: 一个布尔值,指示标题是否为空并且设置了不透明的边框。
答案 2 :(得分:0)
如果您将 navigationController.navigationBar.isTranslucent设置为true 。 它使用不透明的自定义背景图像设置导航栏,导航栏将对图像应用小于1.0的系统不透明度。 如果将 navigationController.navigationBar.isOpaque设置为true ,则会使所有导航栏不透明
答案 3 :(得分:0)
它们没有相同的效果。事实上,你可能并没有改变“isOpaque”属性。
此属性仅用于绘图优化目的,在系统提供的类中被忽略(请参阅文档here)。
如果您使用UIView的“draw:”方法更改设置外观,则应设置此属性,以便系统可以优化绘制此视图的方式。
关于“isTranslucent”属性。苹果在documentation中清楚地解释了这一点。
默认值为true。如果导航栏有自定义 背景图像,如果图像的任何像素具有,则默认为true alpha值小于1.0,否则为false。如果设置了这个 在具有不透明自定义背景的导航栏上将属性设置为true 图像,导航栏应用系统定义的不透明度较小 超过1.0的图像。如果在a上将此属性设置为false 导航栏带有半透明的自定义背景图像 导航栏使用黑色为图像提供不透明背景 如果导航栏有黑色样式,白色如果导航栏 有默认值,或导航栏的barTintColor如果是自定义 值被定义。