我正在用编程方式创建UI。我正在初始化UI并将其作为子视图添加到loadView()方法中。我将方法分类如下:

initUI()
initConstraints()
initStyle()

我正在寻找正确的覆盖方法,其中每个都可以放在UIViewController中。
override func loadView() {
    super.loadView()
    initUI()
}

func initUI() {
    view = UI.view(frame: UIScreen.main.bounds)
    view.addSubview(scrollView)
}

func initConstraints() {  // Where to place this?
    NSLayoutConstraint.activate([]) // ..
}

在哪里放置initConstraints()

最佳答案

重要的是,在创建约束之前,由约束控制的视图已经添加到视图层次结构中。
如果要在initConstraints()中创建和激活约束,则应在将视图添加到视图层次结构(在loadView()viewDidLoad()中完成)后立即调用它。
您可以在initConstraints()结束时或在调用initUI()之后调用initUI()

关于ios - 可以初始化约束的建议UIViewController重写方法是哪种?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56304440/

10-12 06:19