AutoLayoutのpriorityについてまとめてみた。ミネハルライフナビゲーションを切り替えミネハルライフミネハルの生活ブログです。AutoLayoutのpriorityについてまとめてみた。minelyTweetAutoLayoutのpriorityについてまとめてみた。AutoLayoutに優先度付けるってのたぶん一度は勉強したが実際に使う場面がなくて完全に忘れていた。この前使える場面があったがその時に気づけなかった。レイアウト変更の際にどうやりますかって問出されてイマイチわからなかったので、職場で聞いたりしらべて勉強し直してみました。やりたいこととしてはパターンAパターンAをベースレイアウトとしてこの時には赤が2行なので緑から黄色の間が20です。パターンBこれをオートレイアウトでテキストが4行になったときには水色から黄色を20pxにする。パターンCでパターンCは黄緑Viewをかくした際に赤色から端までを20pxに変更する。そのオートレイアウトのやりかたがパッと思いつかなかったので勉強しなおしてみました。黄緑or水色と黄色の考え方はAutoLayoutで優先度を設定するを参考にさせていただきました。Layoutで非表示にした部分を詰める(トルツメ)する方法を参考にさせていただきました。上記4つをこんな感じで制約するとうまくいきました。水-黄Lowはより低い値に設定します。20pxは親Viewと黄色が実際には開けてます。わかりづらくてすみません。priorityHighで黄緑のViewのが下にある場合を表現priorityLowで水色のViewが下にある時の条件を表現する感じです。UILayoutPriorityDefaultHigh;}リンク先を参考にするとこんな感じです。黄緑と赤、親と赤でレイアウトを削除して点け直すみたいな事やると思ってたんですがそうではなくてその2つの制約を用意してプライオリティーを変更して切り替えるようです。これの方が設定の数値コードで書き換えるより綺麗ですね!これは答えたかったなーAutoLayoutはSizeClass系は基本大丈夫なんですが、この辺はあまり出番がこなかったのと今のやつとかネットに結構制約を短くするみたいな方法が転がってるのでそっちで覚えてしまっていました。次作る機会が言う機会があればこの手法で行こうと思います。いろんなアプリのコードみたいなー。質問されて考えるのはやっぱり面白かったですね。コメントをキャンセルメールアドレスが公開されることはありません。