iPhone:UITableView在更改显示的数据后变得不可见

时间:2010-04-13 11:26:31

标签: iphone uitableview uitabbarcontroller refresh reload

我的应用程序有一个控制多个视图的TabBar。在一个视图中,我控制到不同服务器的连接。每个服务器提供一组不同的项目。 我在另一个视图的UITableView中显示这些项目。

问题是tableview第一次显示OK,但是如果我返回查看第一个并更改服务器,从而更改应该在tableview中显示的项目列表,tableview由于某种原因变得不可见。如果我在屏幕上点击屏幕,它会再次显示。

我像这样创建表格视图

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

  [[self view] addSubview:aTableView];

  aTableView.dataSource = self;

我曾尝试在reloadData的{​​{1}}中呼叫setNeedsDisplayviewWillAppear,但是没有成功。

有什么建议吗?

由于

2 个答案:

答案 0 :(得分:0)

我不知道它会解决你的问题,但你错过了

aTableView.delegate = self;

或者你还没有把它贴在这里

答案 1 :(得分:0)

我猜想问题是tableview的数据源没有提供切换服务器后表重新加载的数据。如果数据源未提供任何行,则表视图将显示为完全空白。这听起来像是你的问题。

我会查看切换服务器的代码以及tableview:cellForRowAtIndexPath:设置断点/日志以在切换服务器后激活,并在服务器切换后立即查看数据源提供的数据。我想你会发现该表没有数据。当您触摸它时,表会强制更新,到那时,数据已到达。