swift 带有遮罩自动布局的 UIVisualEffectView 因 iOS 设备而异

swift UIVisualEffectView with mask autolayout varies by iOS device

我正在使用 swift UIVisualEffectViewmask 选项。 我正在尝试制作一个被 UIImageView 掩盖的模糊 UIVisualEffectView。 我已经在情节提要中为视图设置了自动布局约束,但结果因 iOS 设备而异。 故事板、代码和结果附在下面。 如果有人帮助我,我会很高兴。 我已经在情节提要中设置了所有自动布局约束。(下面包含捕获) 代码非常简单。我只设置了 blurView.mask = topImageView.

class TestViewController: UIViewController {

    @IBOutlet weak var bottomImageView: UIImageView!
    @IBOutlet weak var topImageView: UIImageView!
    @IBOutlet weak var blurView: UIVisualEffectView!
    override func viewDidLoad() {
        super.viewDidLoad()
        blurView.mask = topImageView
    }

// Still same issue when I move the mask to 'viewDidLayoutSubviews()' method
//
//    override func viewDidLayoutSubviews() {
//        super.viewDidLoad()
//        blurView.mask = topImageView
//    }

}

Storyboard and Code capture

Results depending on iOS versions

--- 我试图将 mask 代码从 viewDidLoad() 方法移动到 viewDidLayoutSubviews() 但它仍然是一样的。

通过以下代码自行解决。 收到类似问题的提示:'

override func viewDidAppear() {
    self.setupBlur()
}