当前位置:  开发笔记 > IOS > 正文

NSLayoutConstraint网点总是零,而其他网点则不是

如何解决《NSLayoutConstraint网点总是零,而其他网点则不是》经验,为你挑选了2个好方法。

我通过xib实例化一个商店:

let cShop = UINib(nibName: "connectedShop", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! connectedShop

这家商店已经分配了这个定制类:

    import Foundation
import UIKit
class connectedShop : UIView{

    @IBOutlet weak var bannerViewHight: NSLayoutConstraint!

    @IBOutlet weak var bannerViewTop: NSLayoutConstraint!
    @IBOutlet weak var bannerViewLeft: NSLayoutConstraint!
    @IBOutlet weak var bannerViewRight: NSLayoutConstraint!

    @IBOutlet weak var banerDiscount: UIImageView!
    @IBOutlet weak var bannerImageShop: UIImageView!
    @IBOutlet weak var bannerTitle: UILabel!
    @IBOutlet weak var bannerDescription: UILabel!
    @IBOutlet weak var bannerButton: UIButton!

    @IBAction func bannerButtonAction(sender: UIButton) {

    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
    }
}

从代码中我称这个店为:

let cShop = UINib(nibName: "connectedShop", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! connectedShop


cShop.bannerTitle.text = "shopTitle"  //work


shopContainer.addSubview(cShop)

cShop.bannerViewLeft.constant = 0  //make my app crash
cShop.bannerViewRight.constant = 0 // "
cShop.bannerViewTop.constant = 0  //  "

当我设置bannerTitle.text属性我的应用程序继续和调试我看到这个出口已初始化,但约束不是,当编译器在分配常量的行中时,它总是抛出相同的错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

调试我看到有一个初始化的插座:

在此输入图像描述

有人知道为什么会发生这种情况吗?

这些是我的标题:

在此输入图像描述



1> SergioM..:

我遇到过同样的问题.将约束出口更改为strong.



2> Naveen Kumaw..:

从声明中删除弱.

@IBOutlet weak var bannerViewHight: NSLayoutConstraint!

@IBOutlet var bannerViewHight: NSLayoutConstraint!

为所有人做这件事就是这样.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有