使用SnapKit对UIView进行约束但不显示任何内容

时间:2017-12-23 02:00:29

标签: swift snapkit

从“单一视图应用”模板中完全清除新的快速项目。 当我确保可以正确导入SnapKit。 我只是玩非常简单的代码来显示一个Rectangle:

    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的东西被评论出来了,它的工作很精细!如图所示: work fine snap(use frame.size) 但是,当我取消注释SnapKit的东西时,它显示没有!像这样: work bad snap(use SnapKit)

所以,请帮我找麻烦,谢谢!

1 个答案:

答案 0 :(得分: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)
    }