iOS 自定义渐变背景 UIView 不会在模拟器中显示

iOS custom gradient background UIView won't display in simulator

我的启动屏幕上有一个自定义渐变背景,它在 XCode 的 Interface Builder 中看起来和工作正常,但不会在模拟器中显示。发生什么事了?

import UIKit

@IBDesignable
open class LaunchBkg: UIView {


private lazy var gradientLayer: CAGradientLayer = {
    let gradientLayer = CAGradientLayer()
    gradientLayer.frame = self.bounds
    gradientLayer.colors = [#colorLiteral(red: 0.2588235294, green: 0.8, blue: 0.8352941176, alpha: 1).cgColor, #colorLiteral(red: 0, green: 0.5764705882, blue: 0.9098039216, alpha: 1).cgColor]
    return gradientLayer
}()

override init(frame: CGRect) {
    super.init(frame: frame)
    layer.insertSublayer(gradientLayer, at: 0)
}

public required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    layer.insertSublayer(gradientLayer, at: 0)
}

open override func layoutSubviews() {
    super.layoutSubviews()
    gradientLayer.frame = bounds
}
}

Do I need to use an image for the launch screen

是的。

启动屏幕只是您的应用程序启动时出现的图像。根据定义,您的应用尚未启动;这就是为什么我们需要一个启动屏幕,以弥补您的代码 运行 之前的时间间隔。因此,同样根据定义,您的代码还没有开始运行。您不能通过代码影响启动屏幕。