コンテンツへスキップ →

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

もはや、デバイスのサイズが多用になった今、AutoLayoutは必須ともいえますが、StoryboardでConstraintを設定していても、動的にコードで後から制約を変更したいことがあります。例えば、横スクロールの時に、画面の横幅×枚数分の横幅にしたいなど。

Storyboard側での設定

動的に変更する箇所については
constraint
あらかじめ、Remove at build timeにチェックを入れておきます。こうすると、Storyboard上では制約が働きますが、ビルドするとこの制約は削除されます。

なぜこんなことをするかといえば、コードでStorybordで設定したConstraintを削除するのが面倒だからです。あとは、コードでaddConstraintを使って、動的に制約を追加すれば完了です。

[sc name=”ios”][sc name=”engeneer”]

SPONSER

SHARE

YouTube

PROFILE

入江 慎吾
個人開発クリエイター。MENTAなどをはじめ、これまでに30個ほどのサービスやアプリをつくりました。最近は生成AIに夢中。コンサル、開発のご依頼はこちらまで。 (詳しいプロフィール)

カテゴリー: 開発奮闘記