1

ここに画像の説明を入力してくださいテーブルビューにセグメントコントロールを追加しました。問題/質問は、選択したセグメントに基づいてテーブルビューセルにテキストを表示する必要があることです。

選択したセグメントに基づいてラベルのテキストが表示されるという点で、いくつかのチュートリアルに従いました。私segmentControl.selectedIndexPathも使用しました。では、選択したセグメントに基づいて、オブジェクトの配列をテーブルビューセルに設定する方法を教えてもらえますか?

私の英語に間違いがあれば訂正してください。

私を助けてください。助けてくれてありがとう。

4

2 に答える 2

2

まず、データを異なる配列に分割する必要があります。これは、要件、つまりsegmentControlの数によって異なります。

ここで、3つのセグメントコントロールがある場合は、セグメントコントロールの選択されたインデックスに応じて、テーブルビューのデリゲートメソッドに3つの配列を作成し、テーブルビューに表示する配列を変更します。

if segmentControl.selectedIndex == 0then array1if == 1then andifthenarray2のよう== 2array3

テーブルビューのすべてのデリゲートおよびデータソースメソッド。そして、セグメントコントロールのselecedIndexChange:メソッド呼び出しリロードテーブル。

ハッピーコーディング:)

編集1

セグメント化されたコントロールのインデックス変更でテーブルビューのデータを変更するIBOutletには、tableView用のデータが必要です。これを使用しIBOutletてデータを変更するに[tableView reloadData];tableViewIBOutletテーブルビュー用です。

ハッピーコーディング:)

于 2012-08-23T10:00:52.930 に答える
1

テーブルビューの一般的な使用法。Controllerには、オブジェクトを含む配列があります。たとえば、_tableObjectsをコントローラーのデータソースメソッドに実装しました。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
     UITableViewCell *cell =......
     .................
     cell.labelText.text = [_tableObjects objectAtIndex:indexPath.row].name;
     return cell;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
   return _tableObjects.count;
}

したがって、このような場合は、コード内のどこかで_tableObjects配列を変更できます。

_tableObjects = myOtherArray;
[self.tableView reloadData];
于 2012-08-23T07:38:24.180 に答える