8

カスタムセルでuitableviewをセットアップしました。

これらをタイトル付きのセクションに分けてください。下の写真を見て、次のレイアウトを探しています。

セクション - マイ プロフィール カスタム セル - wwwwwwwwwwwwww...
セクション - アプリケーション
カスタム セル - ゲーム
カスタム セル - 共有
カスタム セル - レート
カスタム セル - 設定
カスタム セル - ヘルプ
カスタム セル - ログアウト

セクションを追加してセクション内の行を制御する方法はわかりますが、これによりセルが複数のセクションに複製されます。1 つのセクションに 1 行、別のセクションに 6 行を含める方法がわかりません。また、Facebook のメニュー スタイルのように、これらのセクションを表示するようにスタイルを設定したいと考えています。

代わりに、実際のセクションのカスタム セルを作成し、セクション (セル) の選択に対してアクションを実行する必要はありませんか?

UITableView のコードは次のとおりです

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;


        }
    }
}

ここに画像の説明を入力

4

1 に答える 1

22

次のように、セクションと行の数を定義できます。

- (UIView *) tableview:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{
    UIView view;
    if(section == 0) {
         // Initialise view for section 1
    } else {
         // Initialise view for section 2
    }
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 2;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    return ((section == 0) ? 1 : 6);
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    // return appropriate cell(s) based on section
    if(indexPath.section == 0) 
    {
        // Return 1 cell
    }
    else if(indexPath.section == 1) 
    {
        switch(indexPath.row) {
            case 0: // Initialize cell 1
                    break;
            case 1: // Initialize cell 2
                    break;
            ...
        }
    }
    return cell;
}
于 2012-11-15T22:25:47.977 に答える