ios - 批量 NSLayoutConstraint 激活/停用
问题描述
想知道是否有可能创建以下内容:
我想定义两组约束,以便在它们之间切换。
例如:
let batchConstraintsA: [NSLayoutConstraints] = (constraintA, constraintB, constraintC, constraintD)
let batchConstraintsB: [NSLayoutConstraints] = (constraintE, constraintF, constraintG, constraintH)
然后,能够停用和激活不同的集合。
batchConstraintsA.deactivate
batchConstrintsB.activate
解决方案
您可以使用activate(_:)
and deactivate(_:)
fromNSLayoutConstraint
来完成此操作。您只需要使用约束定义两个数组,然后将每个数组传递给函数。
考虑到您的示例,它将变为:
let batchConstraintsA: [NSLayoutConstraints] = [constraintA, constraintB, constraintC, constraintD]
let batchConstraintsB: [NSLayoutConstraints] = [constraintE, constraintF, constraintG, constraintH]
NSLayoutConstraint.deactivate(batchConstraintsA)
NSLayoutConstraint.activate(batchConstraintsB)
推荐阅读
- angular - Angular 中的监听器事件
- flutter - 两个不同的块导致“坏状态:流已经被收听”。
- java - Java中UTF-8编码中2GB txt文件中每个单词的词频
- windows - nuget install 如何决定何时下载新版本的软件包?
- javascript - 正则表达式在记事本++中查找并替换每n次出现
- swift - Swift:隐式解包的变量可以工作,但不会强制将其强制转换为相同的类型。为什么?
- javascript - 从可选数组返回字符串数组
- android - 如何在 android studio 中通过编码使用不同的语言?
- excel - 无法通过 excel 2016 VBA 在 word 中编辑自定义字段
- html - Bootstrap 自定义下载 网格系统上缺少样式