Tableview行通过加载视图显示

时间:2011-04-15 11:34:31

标签: iphone ios uitableview uiview

场合: 我正在尝试显示加载屏幕,同时等待我的异步连接返回数据以填充tableview。

问题: 创建和添加loadingscreen工作正常,但是,tableview在其上绘制线条,请参见屏幕截图:

the problem

代码:我使用以下行添加视图:

-(void) viewDidLoad{
    [super viewDidLoad];

    _loadScreen = [[LoadScreen alloc] initWithFrame:self.view.bounds];
    [self.view addSubview: _loadScreen];
    [self fetchRemoteData];
}

问题:是否可以在表格的顶部添加加载视图?或者我可以确保tableview不会绘制它的行直到我调用reloadData?

- 提前谢谢, w ^

2 个答案:

答案 0 :(得分: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并在加载数据时再次显示它。

答案 1 :(得分:0)

有一些方法可以解决您的问题:

- 为表格视图设置页脚视图,因此所有行都应该消失。

self.tableView.tableFooterView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];

- 我假设您使用UItableViewController。如果是这样,self.view和self.tableView都代表相同的视图,所以通过设置:

self.tableView.hidden = NO;

它甚至会隐藏您的加载视图。我鼓励你做的是创建一个自定义视图,其中有一个表视图作为其子视图。然后,您只需显示加载视图即可隐藏此表视图。

希望我能提供帮助。