この記事は、開発するiOSアプリの中で、レイアウトパフォーマンスを上げるため、部分的にAutoLayout以外のレイアウトエンジンを用いた場合に、どのようにAutoLayoutの世界と接続することが出来るか。という考察です。 考え方の基本として、AutoLayoutからしたらその他のレイアウトエンジンはFrameベースで行うマニュアルレイアウトと同じものになるので、 AutoLayoutの制約の中でマニュアルレイアウトで作られたカスタムUIViewのコンポーネントを正しく動かすには? を考えることになります。 先に結論考察の結論として、スッキリしたものではないが、 マニュアルレイアウトで作られたカスタムコンポーネントはUILabelのサブクラスを使うUILabelの持つtextRectメソッドをOverrideし、自身が膨張可能な幅を知り高さを計算しAutoLayoutに返却この手法でマニ
![[UIKit考察]AutoLayoutと他のレイアウトエンジンをどのように接続するか (最大の横幅はどうやって知る?)](https://cdn-ak-scissors.b.st-hatena.com/image/square/713f4184e75d63300d548cfd858185bfea447dd2/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2A79IrClbuJHEGl9SwOp6CuA.png)