【发布时间】:2017-06-21 23:10:10
【问题描述】:
我的应用中有一个阶段需要与设备“同步”。在此期间,我想 a) 防止用户触摸东西 b) 显示同步操作的一些进度。
我制作了一个自定义 UIView 来显示我的百分比反馈并将其放置在视图树中的适当位置。这解决了(b)。
对于 (a),我只是在所有东西的顶部添加一个 UIView
myController.view.addSubview(newView)
并操纵它的 alpha 值。通过使用半透明颜色/alpha 值,我可以将应用“变灰”。
但是,我希望我的反馈控件仍然显示“全彩”。我认为我可以简单地调整所述视图的layer.zPosition 以使其绘制在遮蔽/阻塞/灰色视图“上方”。
myFeedbackView.layer.zPosition = 100.0
不幸的是,这似乎不起作用。使用 50% 的 alpha 蓝色作为保护视图,反馈视图不会像希望的那样明亮全彩。
我曾认为zPosition 胜过子视图中的位置。是否仅在给定容器内?我认为它对屏幕上的所有视图(及其相关层)都是全局的。
【问题讨论】:
标签: ios uiview calayer alphablending z-order