0

カスタム UITableViewCell を持つテーブル ビューでサイド メニューを作成しています。

以下で使用される再利用可能なセルを作成しました。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
LeftMenuTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {

    NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"LeftMenuTableViewCell" owner:nil options:nil];

    for (UIView *view in views) {
        if([view isKindOfClass:[UITableViewCell class]])
        {
            cell = (LeftMenuTableViewCell*)view;
            [cell.displayName setText:[NSString stringWithFormat:@"Cell 1"];

        }
    }
}

return cell;

}

このテーブルの他のセルを作成する方法を知りたいです。テーブルは Facebook/Path サイド メニューのようになります。例: マイ プロファイル 設定 ヘルプ ログアウト

ラベルとその横のアイコンのテキストは異なりますが、それぞれ同じデザインになります。また、右側に別のView Controllerをロードします。誰かがこれがどのように達成されるか説明できますか? または、複数の異なるセルでカスタム テーブル ビューを作成する方法を説明するチュートリアルへのリンクを提供します。セル .h、.m、および NIB ファイルを複製し、各カスタム UITabelViewCell を個別に作成する必要がありますか?

4

1 に答える 1

0

同じセルクラスを使用し、次のように配置します(セルのデザイン変更はなく、テキストと画像のみが変更されているため)、

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
  //some code
  if () { //condition 1 
     cell.textLabel.text = @"My Profile";
     cell.imageView.image = [UIImage imageNamed:@"MyProfile.png"];
  } else if () { //condition 2
     cell.textLabel.text = @"Settings";
     cell.imageView.image = [UIImage imageNamed:@"Settings.png"];
  } else if () { //condition 3
     cell.textLabel.text = @"Logout";
     cell.imageView.image = [UIImage imageNamed:@"Logout.png"];
  } 
  //some code
}

didSelectRowAtIndexPathメソッドでは、

if () { //condition 1, say indexpath.row == 0
  //go to firstviewcontroller
} else if () { //condition 2, say indexpath.row == 1
  //go to secondviewcontroller
} else if () { //condition 3, say indexpath.row == 2
  //go to thirdviewcontroller
}

これでうまくいくはずですよね?

于 2012-10-28T20:33:07.743 に答える