31歳から始める初心者のアプリ制作勉強ブログ

アプリ制作の勉強の経過や雑記などを書いていきます

UICollectionViewのカスタムセル

UITableViewと大体同じだと思っていたUICollectionViewにちょっと手間取ってしまった

のでその経緯と打開を書いていきます。

 画像やラベル表示の違い

画像とラベルを同時に複数個配置する為にUICollectionViewを選んだのですが

UITableViewにはあってUICollectionViewに無いものがありました。

それはimageViewプロパティとTextlabelプロパティでした。

これが無いと画像の調整もラベルを付ける事もできません。

 

最初は無理矢理に

cell.backgroundColorとか使って画像を貼付けましたが

全く画像の調整もできずに断念。

なので次に考えたのがカスタムセルによって画像とラベルを継承させる事でした。

 

カスタムセルを作成する

まずFileから新規でクラスを作ります。

サブクラスにUICollectionViewCellとして生成します。

f:id:inou-social:20140220172846p:plain

 

カスタムクラスの.hファイルにイメージとラベルの引数を取るメソッドを作成

f:id:inou-social:20140220173021p:plain

コレクションビューに一つセルを作り、ラベルとイメージを貼付けます。

f:id:inou-social:20140220173136p:plain

f:id:inou-social:20140220173149p:plain

セル自体のクラスやidentifierも忘れずに変更しましょう。

f:id:inou-social:20140220173308p:plain

 

作成したセルのラベルとイメージビューは先ほどクラスをカスタムセルのクラスに

変更したのでアウトレット接続ができます。

 

大体こんな感じでカスタムセルの調整は簡単に終わりました。

ではCollectionViewの方の設定の方へ

f:id:inou-social:20140220173537p:plain

まずはセルのカスタムクラスのインポートを

f:id:inou-social:20140220173635p:plain

あとはcellForItemAtIndexPathにカスタムクラスを使うという宣言をすればOK

 

割と簡単そうですが実装できるまで結構時間がかかってしまいました・・・。