NSLayoutConstraint在ios 10.0或更低版本中无法正常工作,但在11.0中可以正常工作

时间:2018-07-19 04:39:01

标签: ios swift nslayoutconstraint

这是警报控制器的编程编码:

*This*iOS 11.0及更高版本中运作良好,但在iOS 10.0及以下

中却出现冲突
let vc = UIViewController()
var height:NSLayoutConstraint = NSLayoutConstraint(item: alert.view, attribute: NSLayoutAttribute.height, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 0.6, constant: vc.view.frame.height * 0.53)
alert.view.addConstraint(height);
if(isIPadTrait){
    height = NSLayoutConstraint(item: alert.view, attribute: NSLayoutAttribute.height, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 0.6, constant: vc.view.frame.height * 0.4)
}

1 个答案:

答案 0 :(得分:0)

您的代码假定在警报视图中定义了height约束,实际情况可能会或可能不会。该视图当然具有定义的高度,但是可以在较早的版本中动态计算,也可以不使用布局约束。