iPhoneの設定画面等でおなじみの
UITableViewに文字を表示します。
UITableViewのHello Worldです。
ゴールはこんな画面を表示することです。

前提条件
前回のHello Worldプロジェクトを使用。※Navigation-Based Applicationプロジェクトを新規作成直後でもOK
手順
- 表示する行数を指定
- ビルド
- 表示する行数を指定
- ビルド
表示する行数を指定
RootViewController.mを編集します。拡張子.mのファイルは実装ファイルなので、
Xcode画面の左側グループとファイル上で、
「実装ファイル」フォルダからアクセスできます。
グループとファイルツリーで一番上のプロジェクトフォルダを
選択した状態で、右上の検索バーに打ち込んでも探すことが
できます。
表示する行数は
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 1;
} |
で指定します。
ここのリターンで返す値を1に編集します。
ここで返す値がTableViewの有効な行数として扱われます。
デフォルトでは0が返されていますが、
この状態ではクリックしても何の反応もありません。
1にすると1行分がクリックすると選択行扱いに表示が青く変わります。
50にすると50行分が同じように反応するようになります。
ビルド
ひとまずビルドしてみます。
1行分が反応するようになりましたね。
表示する文字を指定
表示文字は同ファイルの以下のメソッドで行います。- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPathこのメソッドは1行分の表示内容を指定できます。
画面表示の際に、表示行数分のループから都度呼び出されます。
ここではHelloを表示してみます。
コードは以下です。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
// Set up the cell...
cell.text = @"Hello";
return cell;
} |
編集箇所は、「// Set up the cell…」のコメント直後に
cell.text = @”Hello”;の1行を追加しただけです。
ビルド
ビルドして表示を確認します。
Helloが表示されましたね。
試しにnumberOfRowsInSectionで返す値を5に変えてビルドしてみます。

5行分Helloが表示されます。
cellForRowAtIndexPathでの指定が行数分
繰り返されていることがわかります。
TableViewへの文字表示は以上です。
関連のあるアプリ
タグ: Hello World, iPachi, iphone, NSString, objecti, objective-c, UITableView, UITableViewCell, Xcode, アプリ, チュートリアル, パチスロ, リリース, 収支



12月 31st, 2008 at 5:25 PM
[...] 「UITableViewに文字を表示する」のプロジェクトを利用 [...]
1月 20th, 2009 at 11:46 PM
[...] UITableViewに表示する行数は【UITableView】UITableViewに文字を表示するで見たように numberOfRowsInSection:メソッドで指定します。 [...]
5月 13th, 2009 at 6:17 PM
You really SUCK. Hahahahah. We Hate YOU!