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

时间:2018-04-23 11:37:53

标签: ios swift uiview gradient

我的启动画面上有一个自定义渐变背景,它在XCode中的界面生成器中看起来很好用,但不会在模拟器中显示。发生了什么?

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
}
}

Display in Interface Builder

Simulator

1 个答案:

答案 0 :(得分:1)

  

我是否需要将图像用于启动屏幕

是。

启动屏幕只是在您的应用启动时显示的图片。根据定义,您的应用尚未启动;这就是为什么我们需要一个启动屏幕,以弥补代码运行之前的时间差。因此,根据定义,您的代码尚未开始运行。您无法通过代码影响启动屏幕。