首页 > 解决方案 > 当我运行我的应用程序时,除了渐变背景外,什么都没有显示(文本字段、按钮...),我现在正在处理界面

问题描述

import UIKit

class MainVC: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        }
    func backgroundcolor(){
        let newLayer = CAGradientLayer()
                    newLayer.colors = [UIColor.init(red: 0.2705882353, green: 0.4823529412, blue: 0.6156862745, alpha: 1).cgColor,UIColor.init(red: 0.6588235294, green: 0.8549019608, blue: 0.862745098, alpha: 1).cgColor]
                    newLayer.frame = view.frame
                    view.layer.addSublayer(newLayer)
    }
}

标签: swiftuser-interface

解决方案


在你的viewDidLayoutSubviews,调用你的函数。与布局相关的任何更改都应在viewDidLayoutSubviews

import UIKit

class MainVC: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        }
    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        backgroundColor()
        }
    func backgroundcolor(){
        let newLayer = CAGradientLayer()
        newLayer.colors = [UIColor.init(red: 0.2705882353, green: 0.4823529412, blue: 0.6156862745, alpha: 1).cgColor,UIColor.init(red: 0.6588235294, green: 0.8549019608, blue: 0.862745098, alpha: 1).cgColor]
        newLayer.frame = view.frame
        self.view.layer.insertSublayer(newLayer, at: 0)
    }
}

推荐阅读