这是警报控制器的编程编码:
在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)
}
答案 0 :(得分:0)
您的代码假定在警报视图中定义了height
约束,实际情况可能会或可能不会。该视图当然具有定义的高度,但是可以在较早的版本中动态计算,也可以不使用布局约束。