NibからCellを作って使いまわしてUITableViewCellを楽々カスタマイズ!

NibからCellを作って使いまわしてUITableViewCellを楽々カスタマイズ!うっはー。今こんな書き方ができるんですね。てかiOS5からですね。

テーブルビューのセルをカスタマイズするのって今まで本当に面倒で、出来れば避けたいと思う作業でしたが、ここまで簡単に作れるならほんとにスイッチ作るような手軽さでセルのカスタマイズが出来そうです。

このサイトを見て学ばせてもらいました。タイトル通り他のサイトを参考にしているのですが、この方が自身でもっと簡単な作り方を紹介してくれています。

そうそう、UINib。一年前はなんかとっつきにくくて触れてなかったところです。

さてさて、実際の作り方は上記リンクを辿ってもらうこととして、あまりにも簡単にカスタマイズできて嬉しかったので、僕の理解を箇条書きにしておきます。

  1. UITableViewCellを継承したCustomCell.hとm(名前はなんでもよい)を作成する。
  2. CustomCell.xibを作成して、UITableViewCellを配置する。
  3. Xibに配置したUITableViewCellのクラス名をCustomCellにして、identifierをCustomCellにして、CustomCell.hとひもづける。ラベルなどの変数もCustomCell.hやmなどにひもづける。
  4. 下記のコードを書き込んで完了!

viewDidLoadあたり

[self.tableView registerNib:[UINib nibWithNibName:@"CustomCell" bundle:nil] forCellReuseIdentifier:@"CustomCell"];

tableView:cellForRowAtIndexPath:

CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CustomCell" forIndexPath:indexPath];
cell.customLabel.text = @"テスト";
return cell;

楽ちんすぎる>< わざわざcellのインスタンスがあるか確認してnillなら生成するなんてif文書かなくていいんですね。最近はそうなんですね!

こういうのを見逃さないようにXCodeのリリースノートは最近はちゃんと目を通すようにしています。

(追記: 1/30)

今日ある方にこの記事を紹介してもらって、閲覧数が本日のトップになりました。調子に乗って、作り方をGithubに公開しました。無駄に英語ですw 内容は上記の作り方とほぼ同じです。

Pocket
LINEで送る

You may also like...