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