南千住で知り合いが開催している勉強会に来ました!今日は大学生に混じってテーブルビューの勉強をしています。そして質問受け付けたりしています。
そこで、空き時間に自分としてもUITableViewのドキュメントを読んだり、あまり使ったことのないメソッドを調べてみることにしました。iOS SDKの基本的なクラスはちゃんと読むと絶対勉強になると思って。短期間でざっと目を通してメモ的に書いていきます!
今回読んでいくのは主に下記の3資料です!
- UITableView Class Reference
- UITableViewDataSource Protocol Reference
- UITableViewDelegate Protocol Reference
全体観
State Preservation
iOS6からtableをリロードしても、セレクトの状態とかを保存できるらしい。UIViewのrestorationIdentifierというところに情報を持っておくらしい。ただ、UIDataSourceModelAssociation Protocol Referenceに対応していることが条件。これ知れてちょっとだけ嬉しい。必要になった時に調べようw こういうのがあるって知っているだけでいいですよね!そういう姿勢でゆるくざっと見ていきます。
UITableView
- indexPathsForVisibleRows
- このメソッド使ってなかった。便利かも。今までvisibleCellsからindexPath取得してた(><)
- rectForRowAtIndexPath:
- 昔なんかの時に使ったことがる。これうまく使えば表現の幅が広がりそうだ。
- sectionIndexMinimumDisplayRowCount/sectionIndexColor/sectionIndexTrackingBackgroundColor
- sectinIndexは余り使うことないけど、簡単にそれっぽい見た目のモックを作るときには良いかな。
UITableViewDataSource
特に新しい発見はないかな。これは、何度か見てる。
UITableViewDelegate
- tableView:indentationLevelForRowAtIndexPath:
- これは使ったことがない。rowのindentを変えられるんだな。使うことないかもしれないけど、簡単に階層表示したい時とか良いかも。
- tableView:shouldHighlightRowAtIndexPath:
- tableView:didHighlightRowAtIndexPath:
- tableView:didUnhighlightRowAtIndexPath:
- この辺り使ってなかった!長押しで、Cut、Copy、Pasteなんてできたんだー。
とりあえず今日はここまで!今度はUIViewとかちゃんと見ていこう。