最近Swiftを使ってiOSアプリを作成してるんだけど、TableViewにカスタムセルを複数乗せてレイアウトを作成できたら便利かなと思って色々やってみたら出来たので、それのまとめ。 正しい使い方かどうかは疑問が残るが、とりあえず動いたからいいや。
用意するもの
2つ以上のカスタムセル
とりあえず、カスタムセルを複数作って用意しておく。 無いと話にならない。 カスタムセルの作り方がわからない方はググって。どうぞ。
TableView
当たり前だけどTableViewがないとセルはのせられないね。
ソースコード
とりあえずcellForRowAtIndexPathだけ。 こんな感じで書くと、複数のカスタムセルを実装出来る。
SwitchのCaseの数字がセルの順番と一致するので、セルを色々入れ替えたりするのも簡単。 Caseの数値以外のセルはdefaultに書かれたセルを使用する。
セルの再利用を無視するので注意
沢山のカスタムセルを使うとそれだけメモリを食うので注意。 元々は画面から外れたセルを再利用するために作られているからね。 昔と違ってスペックアップしてるから簡単には落ちないけど。 Githubにソースをアップロードしました。
Objective-Cでのやり方はどこかのサイトに書いてあったんだけど、Swiftのは探し方が悪かったのか見つからなかったのでとりあえず自分的メモとして書いてみた。