首页 > 解决方案 > 批量 NSLayoutConstraint 激活/停用

问题描述

想知道是否有可能创建以下内容:

我想定义两组约束,以便在它们之间切换。

例如:

let batchConstraintsA: [NSLayoutConstraints] = (constraintA, constraintB, constraintC, constraintD)

let batchConstraintsB: [NSLayoutConstraints] = (constraintE, constraintF, constraintG, constraintH)

然后,能够停用和激活不同的集合。

batchConstraintsA.deactivate
batchConstrintsB.activate

标签: iosswift

解决方案


您可以使用activate(_:)and deactivate(_:)fromNSLayoutConstraint来完成此操作。您只需要使用约束定义两个数组,然后将每个数组传递给函数。

考虑到您的示例,它将变为:

let batchConstraintsA: [NSLayoutConstraints] = [constraintA, constraintB, constraintC, constraintD]
let batchConstraintsB: [NSLayoutConstraints] = [constraintE, constraintF, constraintG, constraintH]

NSLayoutConstraint.deactivate(batchConstraintsA)
NSLayoutConstraint.activate(batchConstraintsB)

activate(_:) 您可以在此处deactivate(_:) 此处阅读更多信息。


推荐阅读