Skip to content →

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

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

Storyboard側での設定

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

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

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

SHARE

PROFILE

入江 慎吾
Webサービスを作るのが大好きです。制作会社10年→フリーランス→受託をやめサービス開発に専念。プログラミングのメンターサービスMENTAは月間流通額約1,300万を突破🚀 YouTubeでは個人開発について語ってます / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)

Published in 開発奮闘記