我可以在初始加载视图时旋转 tableview UIRefreshControl(activity indicator),而无需用户向下滑动吗?
Can I spin a tableview UIRefreshControl(activity indicator) on initial loading of the view, without the user swiping down?
我有一个选项卡式应用程序。
应用程序开始于一个视图为 UITableViewController 的选项卡。
在应用程序初始加载时,MBProgressHUD activity 指示器用于向用户指示应用程序当前正在加载行数据。
如果用户在任何时候想要刷新 TVC 中的数据,他们可以 swipe/pull 向下,这将利用 TVC 顶部的 UIRefreshControl activity 指示器。
我的问题是...这在两种加载数据的形式中并不一致。
我需要选择 MBProgressHUD 或 UIRefreshControl。
我喜欢后者。那么有没有办法使用 UIRefreshControl 的 Activity 指示器打开我的 TVC 的初始加载,而无需用户启动它?
使用 UIRefreshControl
只需调用 [self.refreshControl beginRefreshing]
即可在您的视图加载时显示刷新指示器(例如在您的 viewDidAppear
中)。
这将显示刷新控件,就像用户手动拉动刷新一样。
注意:这只会在 tableView 滚动到顶部时显示控件。如果调用 beginRefreshing
时 tableView 有偏移量 iOS 不会将 tableView 滚动到顶部只是为了显示刷新控件,以避免意外滚动 tableview(所以如果你希望 tableView 滚动它到顶部以确保在任何情况下都显示 refreshControll,您必须先使用 setContentOffset:
将 tableView 滚动到顶部,然后再调用 beginRefreshing
)
- (void) viewWillAppear: (BOOL) animated
{
[super viewWillAppear: animated];
self.tableView.contentOffset = CGPointMake(0, -self.refreshControl.frame.size.height);
[self.refreshControl beginRefreshing];
}
我有一个选项卡式应用程序。
应用程序开始于一个视图为 UITableViewController 的选项卡。
在应用程序初始加载时,MBProgressHUD activity 指示器用于向用户指示应用程序当前正在加载行数据。
如果用户在任何时候想要刷新 TVC 中的数据,他们可以 swipe/pull 向下,这将利用 TVC 顶部的 UIRefreshControl activity 指示器。
我的问题是...这在两种加载数据的形式中并不一致。
我需要选择 MBProgressHUD 或 UIRefreshControl。
我喜欢后者。那么有没有办法使用 UIRefreshControl 的 Activity 指示器打开我的 TVC 的初始加载,而无需用户启动它?
使用 UIRefreshControl
只需调用 [self.refreshControl beginRefreshing]
即可在您的视图加载时显示刷新指示器(例如在您的 viewDidAppear
中)。
这将显示刷新控件,就像用户手动拉动刷新一样。
注意:这只会在 tableView 滚动到顶部时显示控件。如果调用 beginRefreshing
时 tableView 有偏移量 iOS 不会将 tableView 滚动到顶部只是为了显示刷新控件,以避免意外滚动 tableview(所以如果你希望 tableView 滚动它到顶部以确保在任何情况下都显示 refreshControll,您必须先使用 setContentOffset:
将 tableView 滚动到顶部,然后再调用 beginRefreshing
)
- (void) viewWillAppear: (BOOL) animated
{
[super viewWillAppear: animated];
self.tableView.contentOffset = CGPointMake(0, -self.refreshControl.frame.size.height);
[self.refreshControl beginRefreshing];
}