想知道是否有可能创建以下内容:
我想定义两组约束,以便可以在它们之间切换。
例如:
let batchConstraintsA: [NSLayoutConstraints] = (constraintA, constraintB, constraintC, constraintD)
let batchConstraintsB: [NSLayoutConstraints] = (constraintE, constraintF, constraintG, constraintH)
然后,可以停用并激活不同的集合。
batchConstraintsA.deactivate
batchConstrintsB.activate
最佳答案
您可以使用activate(_:)
中的deactivate(_:)
和NSLayoutConstraint
完成此操作。您只需要使用约束定义两个数组,然后将每个数组传递给函数即可。
考虑到您的示例,它将变为:
let batchConstraintsA: [NSLayoutConstraints] = [constraintA, constraintB, constraintC, constraintD]
let batchConstraintsB: [NSLayoutConstraints] = [constraintE, constraintF, constraintG, constraintH]
NSLayoutConstraint.deactivate(batchConstraintsA)
NSLayoutConstraint.activate(batchConstraintsB)
您可以阅读有关
activate(_:)
here和deactivate(_:)
here的更多信息。