1

複数のビューを制御する TabBar を持つアプリケーションがあります。あるビューでは、さまざまなサーバーへの接続を制御しています。各サーバーは、異なるアイテムのセットを提供します。これらのアイテムを別のビューの UITableView に表示します。

問題は、テーブルビューが最初に正常に表示されることですが、最初のビューに戻ってサーバーを変更すると、テーブルビューに表示されるアイテムのリストが変更され、何らかの理由でテーブルビューが非表示になります。画面の本来あるべき場所をタップすると、再び表示されます。

このようなテーブルビューを作成します

  UITableView * aTableView = [[UITableView alloc] initWithFrame:CGRectMake(X,Y,Width,Height) style:UITableViewStyleGrouped];

  [[self view] addSubview:aTableView];

  aTableView.dataSource = self;

このテーブルビューをホストする のと を呼び出そうとしreloadDataましsetNeedsDisplayたが、成功しませんでした。viewWillAppearUIViewController

何かアドバイス?

ありがとう

4

2 に答える 2

0

それがあなたの問題を解決するかどうかはわかりませんが、あなたは行方不明です

aTableView.delegate = self;

または、ここに貼り付けていません

于 2010-04-13T11:48:27.323 に答える
0

問題は、サーバーの切り替え後にテーブルが最初にリロードされたときに、テーブルビューのデータソースがデータを提供していないことだと思います。データソースが行を提供しない場合、テーブルビューは完全に空白で表示されます。それはあなたの問題のように聞こえます。

サーバーを切り替えるコードと、サーバーを切り替えた後にアクティブにするブレークポイント/ログを設定するコードを見てtableview:cellForRowAtIndexPath:、サーバーの切り替え直後にデータソースが提供するデータを確認します。テーブルにデータがないことがわかると思います。タッチすると、テーブルが強制的に更新され、その時までにデータが到着します。

于 2010-04-13T14:35:04.683 に答える