我正在模态地(透明地)呈现视图控制器,然后尝试添加一个对话框作为带有几个按钮的子视图。我希望此子视图为纯色而不是透明的,但不能使其正常工作。
我尝试将子视图的Alpha设置为1,但它不会改变外观。
class GameOverViewController: UIViewController {
private let restart = UIButton(type: .custom)
private let mainmenu = UIButton(type: .custom)
override func viewDidLoad() {
//displays view controller modally
super.viewDidLoad()
self.view.backgroundColor = .white
self.view.alpha = 0.6
self.modalPresentationStyle = .overCurrentContext
//add dialogue box
let dialoguebox = UIView(frame: CGRect(origin: CGPoint(x: self.view.frame.width / 2, y: self.view.frame.height / 2), size: CGSize(width: self.view.frame.width / 2, height: self.view.frame.height / 2)))
dialoguebox.backgroundColor = .red
dialoguebox.center = self.view.center
dialoguebox.alpha = 1
self.view.addSubview(dialoguebox)
}
}
答案 0 :(得分:2)
问题是这一行:
friendships:
user1
- user3: true
- user4: true
user2
- user1: true
- user5: true
这会影响此视图的 self.view.alpha = 0.6
及其所有子视图,包括您的对话框。您无法使对话框具有完全有效的不透明度,因为它从alpha
继承了它的透明度。
您可能想做的是为self.view
提供一些透明度。因此,请勿将其设为纯self.view.backgroundColor
;使其.white
以及一些较低的alpha值。