Tableview 行显示槽加载视图
Posted
技术标签:
【中文标题】Tableview 行显示槽加载视图【英文标题】:Tableview lines show trough loading view 【发布时间】:2011-04-15 11:34:30 【问题描述】:情况: 我试图在等待异步连接返回数据以填充表格视图时显示加载屏幕。
问题: 创建和添加加载屏幕可以正常工作,但是,表格视图会在其上绘制线条,请参见屏幕截图:
.
代码:我用这些行添加视图:
-(void) viewDidLoad
[super viewDidLoad];
_loadScreen = [[LoadScreen alloc] initWithFrame:self.view.bounds];
[self.view addSubview: _loadScreen];
[self fetchRemoteData];
问题:是否可以在表格顶部添加加载视图?或者我可以确保在我调用 reloadData 之前 tableview 不会画线吗?
-提前致谢, W
【问题讨论】:
【参考方案1】:我已经这样做了很多次了:
-(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 并在数据加载后再次显示。
【讨论】:
啊,太棒了!有时答案比你想象的要简单:)【参考方案2】:有一些方法可以解决你的问题:
-为表格视图设置页脚视图,因此所有行都应该消失。
self.tableView.tableFooterView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
-我假设你使用 UItableViewController。如果是self.view和self.tableView都代表同一个视图,那么通过设置:
self.tableView.hidden = NO;
它甚至会隐藏你的加载视图。我鼓励你做的是创建一个自定义视图,它有一个表视图作为它的子视图。然后你可以通过只显示一个加载视图来隐藏这个表视图。
希望我能帮上忙。
【讨论】:
你猜对了。但我已经把它修好了。我确实不得不将类更改为带有 uitableview 的 uiviewcontroller。我只在连接返回时分配和添加 tableView。 (Nick 的回答让我意识到我必须这样做,因为从 tableviewcontroller 隐藏视图会隐藏其中的所有视图。)以上是关于Tableview 行显示槽加载视图的主要内容,如果未能解决你的问题,请参考以下文章
将数据从firebase加载到集合单元格内的tableview