Cassowary 线性约束求解器的 Swift 移植。已在 OS X、iOS 和 Linux 上测试。
let solver = Solver()
let left = Variable("left")
let mid = Variable("mid")
let right = Variable("right")
try solver.addConstraint(mid == (left + right) / 2)
try solver.addConstraint(right == left + 10)
try solver.addConstraint(right <= 100)
try solver.addConstraint(left >= 0)
solver.updateVariables()
// left.value is now 90.0
// mid.value is now 95.0
// right.value is now 100.0
try solver.addEditVariable(variable: mid, strength: Strength.STRONG)
try solver.suggestValue(variable: mid, value: 2)
solver.updateVariables()
// left.value is now 0.0
// mid.value is now 5.0
// right.value is now 10.0
Cassowary Swift 最初是直接移植自 kiwi-java,作者是 Alex Birkett