Snapkit: 優先順位を変更する

作成日 2015年01月30日  ·  3コメント  ·  ソース: SnapKit/SnapKit

すでにインストールされている制約の優先度を変更する方法がわかりませんでした。

NSLayoutConstraintの優先度を変更するのは安価な操作であり、優先度と.LessThanOrEqual + .GreaterThanOrEqual組み合わせをアニメーションに使用することは、Appleが提案していることです。

このためのラッパーを追加するのも良いかもしれません。 インストールします

x ≦ 40
x ≧ 40 with priority P
x ≧ 20 with priority P + 1

次に、最後の制約の優先度をP - 1P + 1間で変更することにより、xを40と20の間で切り替えることができます。

enhancement

最も参考になるコメント

@danieleggert開発ブランチは、優先度の更新をサポートするようになりました。

var constraint: Constraint? = nil
view.snp_makeConstraints { (make) -> Void in
    constraint = make.edges.equalTo(UIEdgeInsetsMake(10,10,10,10)).priorityHigh()
}
constraint?.updatePriorityLow()

全てのコメント3件

snp_updateConstraints介して優先順位を変更できるようにするのがおそらく最善です。 これが何を伴うのか、そしてそれが何らかの影響を与えるのかどうかを見ていきます。

@danieleggert開発ブランチは、優先度の更新をサポートするようになりました。

var constraint: Constraint? = nil
view.snp_makeConstraints { (make) -> Void in
    constraint = make.edges.equalTo(UIEdgeInsetsMake(10,10,10,10)).priorityHigh()
}
constraint?.updatePriorityLow()

こんにちは@robertjpayne
最後のコメントで述べたように、優先度を更新しようとしています。
しかし、私はこのエラーが発生しました:

Screen Shot 2020-07-22 at 3 17 00 PM

問題に見えるのは? Snapkit4.0.0の使用

このページは役に立ちましたか?
0 / 5 - 0 評価