0

在“单一视图应用程序”模板的一个完全清晰的新 swift 项目中。当我确保可以正确导入 SnapKit 时。我只是播放非常简单的代码来显示一个矩形:

    let test = UIView()
    test.backgroundColor = UIColor.green
    test.frame.size = CGSize(width: 500, height: 300)
    
    self.view.addSubview(test)
    test.snp.makeConstraints { (maker) in
        // maker.top.equalTo(30)
        // maker.centerX.equalTo(self.view)
        // maker.height.equalTo(100)
    }

将此代码放入 "UIViewController.swift" 的 func viewDidLoad 中。从现在开始,对 SnapKit 的事情进行了评论,并且工作正常!就像图片显示: 工作正常 snap(使用 frame.size) 但是当我取消注释 SnapKit 的东西时,它什么都没有显示!像这样: 工作不好的快照(使用 SnapKit)

所以,请帮我找出问题所在,谢谢!

4

1 回答 1

0

如果您使用约束,则不需要设置帧大小。

您的代码应如下所示:

    let test = UIView()
    test.backgroundColor = UIColor.green

    self.view.addSubview(test)
    test.snp.makeConstraints { (make) in
        make.top.equalTo(30)
        make.centerX.equalToSuperview()
        make.height.equalTo(300)
        make.width.equalTo(500)
    }
于 2018-06-14T05:28:15.310 回答