调暗按钮背景中的所有视图
当按下按钮时,我在视图右上角有一个菜单按钮(+),其他几个按钮都会下拉以供用户选择。调暗按钮背景中的所有视图
我想将所有这些按钮的所有视图调暗效率。
我现在正在做的方式是通过在所有内容上放置一个透明视图并在单击该按钮后更改背景颜色以及其透明度。
if button.isHidden { self.dimView!.backgroundColor = UIColor.black
self.dimView!.alpha = 0.7
} else {
self.dimView!.alpha = 0
}
这种方法能达到这种效率吗?有效的意义在于它不会干扰触摸并且不会减慢手机的速度?
回答:
你的调图应该在它涵盖了意见禁用水龙头时,它的alpha为0.5以上。
如果将alpha设置为0,则应该设置为view.hidden=true
。这样渲染系统不会试图将其与其他视图合成在屏幕上。 (在将alpha设置为0.7之前设置为hidden=false
,并且除了将alpha设置为0之外,还可以设置hidden=true
。除非将Alpha更改设为动画,否则alpha值无关。)
回答:
那么透明视图应该在你的ViewController的所有子视图的背景中,以达到预期的效果。
关于高效和优化的方式,那么这将是更好的设置来看不透明属性,这里是说明: -
“不透明”属性提供一个提示绘图系统如何它 应该对待视图。如果设置为true,则绘图系统将视图视为完全不透明,这允许绘图系统优化一些 绘图操作并提高性能。如果设置为false,则 绘图系统通常会将视图与其他内容进行合成。该属性的默认值为 。
一个不透明的视图预计会填充完全不透明的 内容 - 也就是说,内容的alpha值应为1.0。如果视图不透明并且未填充其边界或完全包含 或部分透明的内容,则结果是不可预测的。如果视图 完全或部分透明,则您应该始终将此属性的值设置为false。
的代码应该是这样的: -
view.backgroundColor = UIColor.black.withAlphaComponent(0.75) view.isOpaque = false
以上是 调暗按钮背景中的所有视图 的全部内容, 来源链接: utcz.com/qa/260414.html