我可以在初始加载视图时旋转tableview UIRefreshControl(活动指示器),而无需用户向下滑动吗?

时间:2015-03-08 18:21:14

标签: objective-c uirefreshcontrol

我有一个选项卡式应用程序。

应用程序从一个选项卡开始,该视图是一个UITableViewController。

在应用程序的初始加载时,MBProgressHUD活动指示符用于向用户指示应用程序当前正在加载行的数据。

如果用户在任何时候想要刷新TVC中的数据,他们可以滑动/下拉,这将利用TVC顶部的UIRefreshControl活动指示器。

我的问题是......在两种加载数据的形式中,这是不一致的。

我需要选择MBProgressHUD,或者只选择UIRefreshControl。

我想要后者。有没有办法,使用UIRefreshControl的活动指示器打开我的TVC初始加载,而用户没有启动过它?

2 个答案:

答案 0 :(得分:1)

使用UIRefreshControl只需致电[self.refreshControl beginRefreshing]即可在视图加载时显示刷新指示符(例如,在viewDidAppear中)。

这将显示刷新控件,就像用户拉动手动刷新一样。


注意:如果tableView滚动到顶部,这将仅显示控件。如果tableView在调用beginRefreshing时有偏移量,iOS不会将tableView滚动到顶部只是为了显示刷新控件,以避免意外滚动tableview(所以如果你希望tableView将它滚动到顶部到确保在任何情况下都显示refreshControll,在调用setContentOffset:之前,您必须先使用beginRefreshing将tableView滚动到顶部

答案 1 :(得分:0)

- (void) viewWillAppear: (BOOL) animated
{
    [super viewWillAppear: animated];

    self.tableView.contentOffset = CGPointMake(0, -self.refreshControl.frame.size.height);
    [self.refreshControl beginRefreshing];    

}