使用SnapKit库时获取SIGABRT

时间:2016-05-30 17:25:21

标签: ios snapkit

我有以下代码:

//  ViewController.swift
//  Copypasta Keyboard
//
//  Created by vroy on 5/30/16.
//  Copyright © 2016 vroy. All rights reserved.
//

import UIKit
import SnapKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.


        let thankYouMessage = UILabel()
        thankYouMessage.text = "Thank You for Installing the Keyboard."
        thankYouMessage.textAlignment = .Center
        thankYouMessage.numberOfLines = 1


        thankYouMessage.snp_makeConstraints { (make) -> Void in
              //The program crashes if either of the following two lines are uncommented.
              make.top.left.right.equalTo(0) 
              make.height.equalTo(self.view.snp_height).multipliedBy(0.2)
        }


        self.view.addSubview(thankYouMessage)


    }

}

如果两行中的任何一行:

make.top.left.right.equalTo(0) 

make.height.equalTo(self.view.snp_height).multipliedBy(0.2)
执行

我收到SIGABRT错误:

enter image description here

我使用的是SnapKit库版本0.19.0

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您需要在制定约束之前添加子视图。所以把代码转换成这个:

    let thankYouMessage = UILabel()
    thankYouMessage.text = "Thank You for Installing the Keyboard."
    thankYouMessage.textAlignment = .Center
    thankYouMessage.numberOfLines = 1

    self.view.addSubview(thankYouMessage)

 thankYouMessage.snp_makeConstraints { (make) -> Void in
              //The program crashes if either of the following two lines are uncommented.
              make.top.left.right.equalTo(0) 
              make.height.equalTo(self.view.snp_height).multipliedBy(0.2)
        }