ios - 如何使 View Controller 以部分透明度呈现?

标签 ios xcode swift

我有下面的代码,显示了一个弹出窗口。弹出窗口有一个黑色的主视图和一个白色的 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/

相关文章:

ios - Swift 子类化 UIViewController 的子类

objective-c - 将 Objective-C 转换为 Swift - 错误 : Type 'Int' does not conform to protocol 'BooleanType'

ios - 如何比较 Swift 3 中的 UIViewController?

swift - Swift 函数中带闭包和参数的函数的语法

ios - 刷新收据是否要求提供 App Store 凭据?

ios - 如何使 UITableView 与大标题 VoiceOver 兼容?

ios - 矩形交叉点的数量?

ios - 动画队列使用 Facebook POP 和 Swift 将一系列 UILabels 滑出 View

ios - 如何一个一个地发出多个网络请求,这样我就不会丢失数据?

iphone - 调试版本工作,发布版本失败-llvm-gcc-4.2失败,退出代码为1