Iphone Tableview行显示槽加载视图
情况: 我试图在等待异步连接返回数据以填充tableview时显示加载屏幕 问题: 创建和添加加载屏幕工作正常,但是tableview会在其上绘制线条,请参见屏幕截图: 代码:我使用以下行添加视图:Iphone Tableview行显示槽加载视图,iphone,ios,uitableview,uiview,Iphone,Ios,Uitableview,Uiview,情况: 我试图在等待异步连接返回数据以填充tableview时显示加载屏幕 问题: 创建和添加加载屏幕工作正常,但是tableview会在其上绘制线条,请参见屏幕截图: 代码:我使用以下行添加视图: -(void) viewDidLoad{ [super viewDidLoad]; _loadScreen = [[LoadScreen alloc] initWithFrame:self.view.bounds]; [self.view addSubview: _lo
-(void) viewDidLoad{
[super viewDidLoad];
_loadScreen = [[LoadScreen alloc] initWithFrame:self.view.bounds];
[self.view addSubview: _loadScreen];
[self fetchRemoteData];
}
问题:是否可以将加载视图添加到表的顶部?或者,我可以确保tableview在调用reloadData之前不会画线吗
-提前感谢,,
我已经这样做过很多次了:
-(void) viewDidLoad{
[super viewDidLoad];
_loadScreen = [[LoadScreen alloc] initWithFrame:self.view.bounds];
[self.tableView addSubview: _loadScreen];
self.tableView.hidden = YES;
[self fetchRemoteData];
}
- (void)dataFetchedSuccessfully
{
self.tableView.hidden = NO;
}
只需隐藏tableview并在加载数据后再次显示即可。有一些方法可以解决此问题: -设置表视图的页脚视图,以便所有行都消失
self.tableView.tableFooterView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
-我假设您使用UItableViewController。如果self.view和self.tableView都表示相同的视图,那么通过设置:
self.tableView.hidden = NO;
它甚至会隐藏您的加载视图。我建议您做的是创建一个自定义视图,它的子视图是表视图。然后,您可以通过仅显示加载视图来隐藏此表视图
希望我能帮忙。啊,太好了!有时候anwser比你想象的要简单:)你假设的正确。但我已经把它修好了。我确实必须将该类更改为包含uitableview的uiviewcontroller。我只在连接返回时分配并添加tableView。(Nick的anwser让我意识到我必须这么做,因为对tableviewcontroller隐藏视图会隐藏其中的所有视图。)