ちょっとしたtipというかメモ的な記事です。最近、これでうまくいっているので自分に刻み付ける目的もあって書きます。 セルに複数行の文字を出力したい場合、セルの高さ計算が必要です。iOS8からself-sizingが加わりましたが、表示時は良いのですが画面に表示するセルが多くなった時に、セルの高さ計算がうまくいかずスクロールがかくつくという問題に直面し、結局計算をしています。 その際の計算処理をどこにどう書くかということです。 僕はMVVMで開発していて、モデルの情報は一旦 ItemViewModel というようなViewModelにもたせます。その段階で表示時の見た目を用意したりできるのですが、そうすると複数の違う見せ方をしたい時に複数のビューの見た目を持つのはやっぱりおかしいです。ViewのことはViewにやらせるのが良いと思って書き換えました。 構造 具体的にいうと下記のような構造にな
![Cellなどの高さ計算の処理をViewのstructで行う - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/f44eb49909fd23b53dd9cf5a41a5c339d37d00ea/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9Q2VsbCVFMyU4MSVBQSVFMyU4MSVBOSVFMyU4MSVBRSVFOSVBQiU5OCVFMyU4MSU5NSVFOCVBOCU4OCVFNyVBRSU5NyVFMyU4MSVBRSVFNSU4NyVBNiVFNyU5MCU4NiVFMyU4MiU5MlZpZXclRTMlODElQUVzdHJ1Y3QlRTMlODElQTclRTglQTElOEMlRTMlODElODYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTNjZWFjYzlmZTQxOTdiY2JlZDRlYzBiNWRmNzMxYWJk%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBtb3Jpem90dGVyJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz00NDliYjBkMDZjNDkyYzYxM2E2Y2VkMDc4ZmM3MTAxYg%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D35f2b54d48083dc747c66f89ce260fd3)