这是针对警报 Controller 进行编程编码的:
它在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)
}
最佳答案
您的代码假设警报 View 中定义了一个height
约束,但情况可能是这样,也可能不是。 View 当然有一个定义的高度,但它可以在旧版本中动态计算或不使用布局约束。
关于ios - NSLayoutConstraint 在 ios 10.0 或更低版本中无法正常工作,但在 11.0 中可以正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51414462/