Xcode (その4)自作セルをTableViewに表示させる

ファイル新規作成でUserInterfaceからEmptyを選んで
デバイスをiPhoneにしファイル名をMyCellViewControllerとか適当につけてXibを作成する。

次に新規作成、Objective-c Classを選択し、SubClassにUITableViewCellを選択し
名前を先に付けたのと同じMyCellViewControllerとかにする

Xibを表示させ空っぽのViewの中にライブラリからCellをドラッグする

CellをクリックしCustomClassをMyCellViewControllerを選ぶ
File’s OwnerをクリックしCustomClassをUIViewControllerにする
File’s Ownerクリックしcontrol押しながらCellを紐付けする(記憶が曖昧)
あとはCellに表示させたいLabelやらImage貼付けてプロパティ設定するだけで確かOK

TableViewController.m

#import "myCellViewController.h" //自作セルをインポートする
//中省略
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"cell";
    //自作セル読み込み
    myCellViewController *cell = 
    (myCellViewController *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) { UIViewController* controller;

// NIB 名は、自作セルを作成した XIB ファイルです。 controller = [[[UIViewController alloc] initWithNibName:@"myCellViewController" bundle:nil]autorelease];

// レイアウトの際に UIViewController の view に関連付けたカスタムセルを取得しています。 cell = (myCellViewController*)controller.view; } //省略 //あとはセル側で設定したmyLabel1とかってラベル名つかってこんな感じで使えばOK cell.myLabel1.text = [itemHoge objectForKey:@"title"];

//中省略 あとはスタイルとかセルの高さを自作セルに合わせる必要があるんでこんなかんじで -(void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { //セルの背景色 cell.backgroundColor = [UIColor colorWithRed:0.741 green:0.718 blue:0.420 alpha:1.0];

//テーブルの背景色 tableView.backgroundColor = [UIColor colorWithRed:0.800 green:0.800 blue:0.400 alpha:1.0];

//テーブルの線の色 tableView.separatorColor = [UIColor colorWithRed:0.722 green:0.525 blue:0.043 alpha:1.0];

}

//テーブルのセルの高さ - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 85.0; }

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です