-1

参考までに - 初心者iOSの開発者はこちら。

私の現在の設定はUIViewController、 UIView があり、UITableView次にUIVIew. ということで、こうなります…

UIViewController --> UIView --> UITableView

この理由は、テーブルビューでラップされた他の要素があるためです。はUIViewController動的コンテンツをテーブル ビューにロードします。テーブルビュー内のコンテンツを切り替えるために使用したいセグメント化されたコントロールがあります。

何かを読んだことが[table reload]あり[table beginUpdate]ますが、使い方がわかりません。どんな助けでも素晴らしいでしょう。

4

4 に答える 4

2

UIControlEventValueChangedこれには、イベントのメソッドを実装する必要があります UISegmentedControl

[yourSegmentedControl addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged];

そして、次のsegmentChangedようなメソッドを実装します。

- (void)segmentChanged:(id)sender
{
   UISegmentedControl *mySegment = (UISegmentedControl *)sender;

   switch ([mySegment selectedSegmentIndex])
   {
       case 1:
           //load first contents
       break;
       case 2:
          //load second contents   
       break;
       default:
       break;
   }
   [self.yourTableView reloadData];
}
于 2013-01-21T04:17:38.150 に答える
1

例えば、

あなたのUIView名前*myViewとあなたのUITableView名前*myTableView、あなたがリロードしたい時間tableview、あなたの中で、あなたはこのようUIViewControllerにリロードする必要がありますtableview

[self.myView.myTableView reload];

とが正しく設定されていることを確認tableview's delegateしてください。dataSourceDelegate

于 2013-01-21T04:14:07.563 に答える
1

わかりましたので[table reloadData]、データをリロードします (したがって、データを変更し、必要なデータでテーブルを更新したい場合は、これを呼び出します)、呼び出した直後に、必ず呼び出し[table setNeedsDisplay]て UI を更新してください。[table beginUpdates] レシーバーの行とセクションを挿入、削除、または選択する一連のメソッド呼び出しを開始します。でプロセスを終了します[table endUpdates];

dataSourceテーブル ビューのandを self に設定していることを確認してくださいdelegate。これは、xib を介して次のようにプログラムで実行できます。

[table setDelegate: self];

また

[table setDataSource: self];

言われるように:

delegateこのメソッドを呼び出すUISegmentedControl

    - (void)segmentedControl:(UISegmentedControl*)segmentedControl didSelectIndex:(NSUInteger)selectedIndex
{
   if(selectedIndex == 0)
   {
     // Update the data
   }
   else if(selectedIndex == 1)
   {
     // Update the data
   }

   [table reloadData];
   [table setNeedsDisplay];
}
于 2013-01-21T04:18:29.820 に答える
0

次のようなViewController.hファイルでテーブルビューのデリゲートとデータソースを設定する必要があります

UITableViewDataSource、UITableViewDelegate。

ViewController.mファイルにデリゲートメソッドとデータソースメソッドを実装する

[tableview SetDelagate:self];

[tableview SetDatasource:self];

デリゲートメソッドを実装します。

そして、を使用してテーブルをリロードします

[tableView reloadData];

方法。

于 2013-01-21T05:08:21.900 に答える