我的下面的代码显示了一个弹出窗口。弹出窗口有一个黑色的主视图和一个白色的子视图,该子视图有一些标签,按钮和用户交互的东西。我希望周围的黑色部分是部分透明的(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)
}
答案 0 :(得分:1)
看起来,在不影响添加到主视图的子视图的情况下,无法使主视图部分透明。
你能做的是,
-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.
我希望它可以帮助你实现你想要的。
答案 1 :(得分:0)
我认为按照我的方式去做是不可能的。 Rajeev有一个好主意,但最好的(也是苹果评论家可能认可的那个)正在使用popover
。 This tutorial和this tutorial很有帮助。