[iOS] コードで追加したUIViewに簡単な制約をカンタンに追加するための拡張

2017.03.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

おばんです、劇場版ソードアート・オンライン オーディナル・スケールに影響され、来るべきARゲームの波に乗るべく筋トレと体力作りを始めた影響されやすい男、田中です。「オーディナル・スケール、起動!」(声に出して読みたい日本語)

Image uploaded from iOS

さて、今回の記事はちょっとしたUIに関するTips紹介です。

コード

用法解説

gist中にもコメントアウトで説明は記述してありますが、改めて。

私が上記のExtensionを使うのは「コードでUIを書いているとき」です。例えばちょっと複雑で動的なUI要素の書き換えのときや、ライブラリを使っていてどうしてもコードでUIを書かなければならないときなどです。

具体的に言うとStoryboardでContainerViewを設定しておいて、その中に配置するViewを設定する、UIViewController.viewを設定する時などに使います。

最近だとPagingMenuControllerというスクロールしてくれるタブ領域を用意しているUIライブラリを使っている時に、使用するタイミングがありました。

pagingMenuController.view.translatesAutoresizingMaskIntoConstraints = false
let constraints = pagingMenuController!.view.adjustConstraints(to: containerView)
containerView.addConstraints(constraints)

まとめ

制約をコードで追加しようとすると長くなりがちですので、こんな風にまとめておくと便利だと思います。