" isOpaque"之间有什么区别?和" isTranslucent"在iOS?

时间:2017-07-20 08:35:33

标签: ios swift

我找到了

navigationController.navigationBar.isOpaque

navigationController.navigationBar.isTranslucent

具有相同的效果。

只是想知道是否有人知道这两者之间有什么区别,谢谢!

4 个答案:

答案 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如果是自定义   值被定义。