1

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

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

我像这样创建表格视图

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

  [[self view] addSubview:aTableView];

  aTableView.dataSource = self;

我试图调用reloadData并调用托管此 tableview 的,但没有setNeedsDisplay成功viewWillAppearUIViewController

有什么建议吗?

谢谢

4

2 回答 2

0

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

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

于 2010-04-13T14:35:04.683 回答
0

我不知道它会解决你的问题,但你失踪了

aTableView.delegate = self;

或者你没有在这里粘贴

于 2010-04-13T11:48:27.323 回答