1

4つの異なるグループで完全に構成されるUITableViewを作成しました。各セクション/グループには、異なる数の行があります。下の3つのグループに必要な数の行とテキストフィールドを静的に追加しました。ただし、一番上のセクション/グループに必要な行数はわかりません。.xibにセルを1つだけ持つようにトップグループを設定しましたが、ビューが読み込まれるたびに、必要なセルの数を確認してから、必要な行数をトップセクションに動的に追加する必要があります。

私はStackOverflowを見回して、insertRowsAtIndexPathsメソッドについて議論している人々を見てきましたが、それを機能させることができませんでした。

[settingsPageTableView beginUpdates];
[settingsPageTableView insertRowsAtIndexPaths:tempArray withRowAnimation:UITableViewRowAnimationAutomatic];
[settingsPageTableView endUpdates];

insertRowsAtIndexPathsメソッド内に特定のコードを配置する必要がありますか?NSMutableArrayを次のように渡しました。

 NSIndexPath *indexPath0 = [NSIndexPath indexPathForRow:1 inSection:0];
    NSMutableArray *tempArray=[NSMutableArray array];
   [tempArray addObject:indexPath0];

静的セルと動的セルを1つのUITableViewに組み合わせる方法について誰かが知っているなら、それは非常にありがたいです!iPhoneの一般的な設定からBluetoothページに精通している人にとって、これはまさに私が探していることです。さまざまな数のデバイスが表示され、上部にUISwitchを含む静的セルがあります。誰かがこれを達成する方法を知っていますか?

本当にありがとう!

4

3 に答える 3

3

Bluetoothページで説明するセルが常に存在するからといって、それが静的セルであるとは限らず、常に動的に作成されるため、すべてを動的に実行する必要があると思います。

于 2012-07-27T00:08:45.267 に答える
2

だからここに私がちょうど理解した回避策があります。UITableビューの上部に必要なセルが7つを超えることはないことは確かです。したがって、これらの7つを.xibファイルに静的に設定することができます。そこから、これを使用して必要な特定の番号のみを表示できます。

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


    switch(section) {
        case 0:  
            //Do a bunch of checking here on how many i actually need. Then, I will just return the required amount. As long as it is less than the number of cells I have statically placed in my .xib, everything works good.
            return 4;
        case 1:
            return 3;
        case 2:
            return 1;
        case 3:
            return 2;
        case 4:
            return 3;
        default:
            return 0;
        }
//Every case but the first always needs the same amount of cells, so those are no problem.
}
于 2012-07-27T00:27:11.307 に答える
1

最良かつ最も簡単な方法:

1)動的TableViewのヘッダーにコンテナビューを配置します。2)このコンテナに静的TableViewを割り当て、[スクロール有効]のチェックを外します。

于 2014-02-04T05:35:05.683 に答える