Skip to content →

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

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

Storyboard側での設定

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

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

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

Published in 開発奮闘記