0

プログラムで作成したさまざまなセクションと行を持つ UITableViewController があり、セクションごとに特定の高さを持ちたい

セクションの各行に特定の高さを設定する方法を教えてください。

前もって感謝します!

ご覧のとおり、heightForRowAtIndexPath を使用したため、セクションの各行の高さは同じですが、セクションごとに特定の高さを設定したいと考えています。

![ここに画像の説明を入力][2]

heightForHeaderInSectionheightForFooterInSectionがあることは知っていますが、1 つのテーブルに複数のセクションの特定の高さを配置する方法

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

編集:

このコードを使用すると、セクション間に大きなスペースがありますが、異なるセクションの各行に特定の高さを持たせたい

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
switch (section) {
    case 0:
        return 40;
        break;
    case 1:
        return 40;
        break;
    case 2:
        return 80;
        break;
    default:
        return 40;
        break;
}
}
4

2 に答える 2

2

セクションに応じて、ケースごとに異なる高さを返す

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    switch (indexPath.section) {
        case 0:
            return your_req_height;
            break;            
        default:
            break;
    }
}

NSIndexPath行とセクションの両方を提供するため、セクション内の行ごとに異なる高さを返すことができます。

特定のセクション/行のペアを固定の高さに結び付けるため、この方法は壊れやすいように見えることを追加する必要があります。各セクション/行のペアのコンテンツのタイプを示すタグを使用して、テーブルアイテムを設定する必要があります。

于 2012-08-16T09:45:18.197 に答える
1

このコードを追加する必要があります。これにより、CheckBoxCompensationViewCell タイプのセルのカスタムの高さが返されます。your_required_height を CheckBoxCompensationViewCell の高さに置き換えるだけです。私は60を試しました。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

switch (indexPath.section) {

//Since you have custom cells i-e CheckBoxCompensationViewCell type cells in this section, you need to return custom cell height in tableview
case 2:
    return 60; //i am supposing your_required_height is 60
    //return your_required_height; //height of CheckBoxCompensationViewCell
    break;

default:
    return 44; //default_height of tableview cell
    break;
    }
}
于 2012-08-16T12:33:38.727 に答える