iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

【Swift】translatesAutoresizingMaskIntoConstraintsって結局なんなんだっけ?

SwiftのコードベースでAutoLayoutを設定する時によくやるこれ。

view.translatesAutoresizingMaskIntoConstraints = false
view.widthAnchor.constraint(equalToConstant: 18).isActive = true
view.heightAnchor.constraint(equalToConstant: 18).isActive = true

結論

translatesAutoresizingMaskIntoConstraintsは、ViewのレイアウトをAutoresizingMask、又はAutoLayoutで構築するかを決定します。trueの場合は、AutoresizingMaskでレイアウトが構築されるようになり、falseの場合は、AutoLayoutでレイアウトが構築されるようになります。また、Interface BuilderなどでViewを追加した場合は、システムがこのプロパティを自動的にfalseに設定するようです。

ちなみに、AutoresizingMaskは親ビューのboundsに合わせてレイアウトを調整する方式で、Viewframeboundscenterなどの要素を調整することができます。 AutoLayoutに関しては、馴染み深いと思うので特に触れませんが、基本的にViewの上下左右のレイアウトが決まるように制約を行う必要があります。

参考

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com