我有一个选项卡式应用程序。
应用程序从一个选项卡开始,该视图是一个UITableViewController。
在应用程序的初始加载时,MBProgressHUD活动指示符用于向用户指示应用程序当前正在加载行的数据。
如果用户在任何时候想要刷新TVC中的数据,他们可以滑动/下拉,这将利用TVC顶部的UIRefreshControl活动指示器。
我的问题是......在两种加载数据的形式中,这是不一致的。
我需要选择MBProgressHUD,或者只选择UIRefreshControl。
我想要后者。有没有办法,使用UIRefreshControl的活动指示器打开我的TVC初始加载,而用户没有启动过它?
答案 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];
}