在iOS 12上启动应用程序时无法渲染Alpha

问题描述 投票:0回答:1

我只是在学习Swift,在我的第一个项目中,我遇到了一种奇怪的行为。当我在模拟器上的iOS 13上运行我的应用程序时,UIView成功渲染了背景视图的Alpha,但是当我在iOS 12.4上运行它时,却出现黑屏。

我在做什么错?

iOS13:Current version

iOS12:What I get in simulator

我渲染它:

class ManualAddVC: UIViewController, UITextFieldDelegate {
...
var backdropView: UIView = {
    let bdView = UIView(frame: CGRect(x: 0,y: 0,width: UIScreen.main.bounds.size.width,height: UIScreen.main.bounds.size.height))
          bdView.backgroundColor = UIColor.black.withAlphaComponent(0.1)
          return bdView
      }()
...
override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(backdropView)
        view.sendSubviewToBack(backdropView)
....
}


ios swift ios13 xcode11 ios12
1个回答
0
投票

尝试给出约束而不是使用frameUIScreen.main.bounds

backdropView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
    backdropView.topAnchor.constraint(equalTo: view.topAnchor),
    backdropView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
    backdropView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
    backdropView.trailingAnchor.constraint(equalTo: view.trailingAnchor)])
© www.soinside.com 2019 - 2024. All rights reserved.