我有下面的代码,显示了一个弹出窗口。弹出窗口有一个黑色的主视图和一个白色的 subview ,该 subview 有一些标签、按钮和用户与之交互的东西。我希望周围的黑色部分部分透明(alpha = 0.7),但其内部的白色部分完全不透明(alpha = 1.0)。我无法实现这一点,出于某种原因,父级的值覆盖了它的子级值,我得到了一个完全不透明的 View ,或者一个标签和按钮也是部分透明的 View 。
我能做什么?
显示弹出窗口的代码:
@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)
}
- 我仅在属性检查器中更改了不透明度。
最佳答案
看来,在不影响添加到主视图的 subview 的情况下,不可能使主视图部分透明。
你可以做的是,
-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/