AutoLayout利用時に、コードでNSLayoutConstraintの設定を変更する

もはや、デバイスのサイズが多用になった今、AutoLayoutは必須ともいえますが、StoryboardでConstraintを設定していても、動的にコードで後から制約を変更したいことがあります。例えば、横スクロールの時に、画面の横幅×枚数分の横幅にしたいなど。
Storyboard側での設定
動的に変更する箇所については
あらかじめ、Remove at build timeにチェックを入れておきます。こうすると、Storyboard上では制約が働きますが、ビルドするとこの制約は削除されます。
なぜこんなことをするかといえば、コードでStorybordで設定したConstraintを削除するのが面倒だからです。あとは、コードでaddConstraintを使って、動的に制約を追加すれば完了です。
[sc name=”ios”][sc name=”engeneer”]
SHARE
無料メルマガ<特典付き>
個人開発・ビジネスについての有益な情報を無料メルマガでお届けします。
個人開発のスキルアップにMENTA
MENTAはいろんなプロに相談できるNo1メンターサービスです。
僕自身もプロダクトの壁打ち・相談にのっています。個人開発でもコードレビュー、セキュリティ面のチェック、デザイン、広告、コンテンツマーケ、SNS集客について相談する、など使えます。
YouTubeでも個人開発ノウハウを発信中!
PROFILE

入江 慎吾
あらゆるスキルが学べるパーソナルメンターサービスMENTAの代表/個人開発が好きでこれまでに30個ほどのWEBサービスやアプリを作ってきました/福岡のWEB制作会社勤務→フリーランスエンジニア→法人立ち上げ→M&A億単位の売却を経験。 (詳しいプロフィール)
あらゆるスキルが学べるパーソナルメンターサービスMENTAの代表/個人開発が好きでこれまでに30個ほどのWEBサービスやアプリを作ってきました/福岡のWEB制作会社勤務→フリーランスエンジニア→法人立ち上げ→M&A億単位の売却を経験。 (詳しいプロフィール)