我下面的代码显示了一个弹出窗口。弹出窗口的主视图为黑色,子视图为白色,该子视图具有一些标签,按钮和用户交互的内容。我希望周围的黑色部分是部分透明的(alpha = 0.7),但其中的白色部分是完全不透明的(alpha = 1.0)。由于某种原因,我无法实现这一点,因为父级的值会覆盖其子级值,所以我得到的是完全不透明的视图,或者标签和按钮也是部分透明的视图。

我能做什么?

显示弹出窗口的代码:

@IBAction func getLocation(sender: AnyObject) {
    var p = PopupViewConrtoller(list: list, callback)
    var x = UINib(nibName: "PickerPopup", bundle: nil).instantiateWithOwner(p, options: nil)
    self.presentViewController(p, animated: false, completion: nil)
    }



我仅在属性检查器中更改了不透明度。

最佳答案

似乎不可能在不影响添加到主视图的子视图的情况下使主视图部分透明。

你能做的是

-set mainView background color as clear color
-add one more subview1 to mainView with size same as main view and set the background color as blackColor with desired transparency(alpha=0.7 as in required)
-add your subview2(which is having labels, buttons etc.) to mainView but above subview1 in layer order.


我希望它将帮助您实现您想要的。

关于ios - 如何使 View Controller 呈现部分透明性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28363662/

10-14 21:30
查看更多