swift - 将 func loadview 中声明的 self.view 约束到 View Controller 的部分区域

标签 swift view nslayoutconstraint self loadview

我的代码位于子类 Canvas 下面,用于绘制属性。我试图将 Canvas 限制在 viewdidload 中的特定区域。问题是 func loadView 阻止 viewdidload 中的约束起作用。在调试区域中,它指出无法同时满足约束。

  var canvas = Canvas()

 override func loadView() {
         self.view = canvas


}

override func viewDidLoad() {
    super.viewDidLoad()

    canvas.translatesAutoresizingMaskIntoConstraints = false

    NSLayoutConstraint.activate ([
               canvas.trailingAnchor.constraint(equalTo: view.centerXAnchor, constant :37.5),
               canvas.topAnchor.constraint(equalTo: view.centerYAnchor, constant : 225),
               canvas.widthAnchor.constraint(equalToConstant: 75),
               canvas.heightAnchor.constraint(equalToConstant: 50),
    ])

}

class Canvas: UIView {}

最佳答案

您是否将 Canvas 添加为 View 的 subview ?您需要在设置约束之前执行此操作:

        canvas.translatesAutoresizingMaskIntoConstraints = false

        self.view.addSubview(canvas)

        NSLayoutConstraint.activate ([
                   canvas.trailingAnchor.constraint(equalTo: view.centerXAnchor, constant :37.5),
                   canvas.topAnchor.constraint(equalTo: view.centerYAnchor, constant : 225),
                   canvas.widthAnchor.constraint(equalToConstant: 75),
                   canvas.heightAnchor.constraint(equalToConstant: 50),
        ])

关于swift - 将 func loadview 中声明的 self.view 约束到 View Controller 的部分区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58568021/

相关文章:

ios - 隐藏包含 UITextview 的 UITableviewcell(自动布局)

swift 返回 "The view hierarchy is not prepared for the constraint"

ios - 制作许多类似的 ViewController

swift - 如何删除表格 View 单元格中的特定行?

java - 解析 withinMiles 首先返回最近的

swift - 当 UICollectionView 和 UICollectionViewCell 位于 XIB 文件中时,子视​​图为零

ios - 如何在横向设置垂直约束( Storyboard)

php - Zend Framework 2 设置全局模块变量

jquery - Django AJAX - 建议

oracle - ALL_PROCEDURES View 不显示 PROCEDURE_NAME