Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー

242 views
178 views

Published on

Cocoa勉強会#36
2009/9/5
iPhone OS 3.0で変更されたテーブルビュー
新居雅行

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
242
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー

  1. 1. iPhone OS 3.0で 変更されたテーブルビュー 新居雅行/nii@msyk.net Cocoa勉強会 関東#36 2009年9月5日 1
  2. 2. before my presentation • • • “CoolNotify” 告知ソリューション • • 団体ごとにページを用意 告知内容をWeb設定 そのうち一般公開 サポート予定 • アンケート、出欠、拍手 2
  3. 3. before my presentation • • • “CoolNotify” 告知ソリューション • • 団体ごとにページを用意 告知内容をWeb設定 そのうち一般公開 サポート予定 • アンケート、出欠、拍手 2
  4. 4. agenda • • iPhoneでのテーブルビュー v3.0での変更点 3
  5. 5. iPhoneのテーブルビュー • 表計算式の「セル」ではない • • • スクロールする事が当然の機能 • • テーブルビュー自体をInterface Builderでサポート • 列の概念を持たないテーブル セル=行 複雑なビュー階層は見えていない 加えて、セルについてもInterface Builderでサポート 4
  6. 6. テーブルを管理するクラス • • • UITableView ← UIView セルに分かれているが、セルのコンテナを持つ UITableViewController ← UIViewController • • • • • • tableViewプロパティ、形式を指定した初期化メソッ ドが追加されている IBではviewから接続することで、tableViewプロパテ ィも参照できる UITableViewCell ← UIView セルそのもののクラス UITableViewDataSource UITableViewDelegate ← UIScrollViewDelegate 5
  7. 7. データソース • テーブルに表示するデータを供給するオブジェクト • • UITableViewDataSourceプロトコルを組み込んだク ラスのインスタンスをテーブルビューに教えておく事 で、そこから必要な情報を取り出す 必須のプロパティ • • • • numberOfRowsInSection/セル数 cellForRowAtIndexPath/1つのセルを返す テーブルビュー自体のキャッシュの仕組みを使う その他定義可能なメソッドはたくさんある 6
  8. 8. セル • • • 基本的には生成してやる必要がある IBで定義もできる→環境設定的な機能の場合 セル内のデータの配置 • • 自由な配置が可能(UIViewだから) 決められたスタイルの利用が可能(v3.0で拡大) 7
  9. 9. セルクラスの利用 • • iPhone OS 3.0でけっこう変わったところ deprecatedなプロパティ • • font, image, selectedTextColor, selectedImage なくなった機能はどうする? • • • • text, textAlignment, textColor, lineBreakMode, テキスト表示はUILabelクラスのtextLabelプロパティ もう1つのテキストパートはdetailTextLabel 画像はUIImageViewクラスのimageViewプロパティ 要はビューの集合という考え方を徹底させた 8
  10. 10. プログラム例 • • • • UITableViewCell *cell = [...生成と初期化...]; v2.0 cell.text = @"Oh my god!"; v3.0 • • • cell.textLabel.text = @"Shine on me!"; cell.detailTextLabel.text = @"Absolutely!"; return cell; 9
  11. 11. セルの生成 • • initWithFrameはdeprecated initWithStyle: reuseIdentifier: を使う • • 最初の引数に定数を指定(図セルの順に対応) • UITableViewCellStyleDefault、UITableViewCellStyleSubtitle、 UITableViewCellStyleValue1、UITableViewCellStyleValue2 textLabel, detailTextView, imageViewの配置に注目 10
  12. 12. その他の話題 • アクセサリビュー • • • 編集機能 • • • • セルの右端にアクセサリ領域を確保 おなじみなものは定数を指定すれば良い 画像を指定すれば任意の画像を表示 テーブルビューの状態としてサポート コントロールやアクセサリーの切り替えができる 一般には削除の機能は組み込めるが、中身の変更や追 加となると他のユーザインタフェースと組み合わせる 必要が出てくる 11
  13. 13. まとめ • • UIKitのテーブルビューの利用方法 iPhone OS 3.0で少しだけセルの利用方法に変化が あった 12
  14. 14. 書籍のサイトは3.0に完全対応 • iPhoneアプリケーションプログラミング • 新居雅行著/技術評論社刊/¥3,200(税抜き) 13
  15. 15. 14

×