2015-03-08 6 views
1

У меня есть приложение с вкладками.Могу ли я вращать табличное представление UIRefreshControl (индикатор активности) при начальной загрузке представления без прокрутки пользователя?

Приложение начинается с вкладки, представление которой является UITableViewController.

При начальной загрузке приложения индикатор активности MBProgressHUD используется для указания пользователю, что приложение в настоящее время загружает данные для строк.

Если пользователь в любое время хочет обновить данные в TVC, они могут прокручивать/вытаскивать, что будет использовать индикатор активности UIRefreshControl в верхней части TVC.

Моя проблема ... это не согласовано в обеих формах загрузки данных.

Мне нужно выбрать либо MBProgressHUD, либо просто UIRefreshControl.

Я хотел последний. Есть ли способ, чтобы использовать индикатор активности UIRefreshControl для начальной загрузки моего TVC без того, чтобы пользователь когда-либо инициировал его?

+0

вы пробовали 'UIActivityIndicatorView'? – MendyK

ответ

1

Используя UIRefreshControl, просто вызовите [self.refreshControl beginRefreshing], чтобы отобразить индикатор обновления, когда ваш вид загружен (например, в вашем viewDidAppear).

Это будет отображать элемент управления обновлением, как если бы пользователь потянул за обновление вручную.


Примечание: это будет отображать только контроль, если Tableview прокручивается вверх. Если tableView имеет смещение при вызове beginRefreshing, iOS не прокручивает таблицуView вверху, чтобы показать элемент управления обновлением, чтобы избежать непредвиденного прокрутки табличного представления (поэтому, если вы хотите, чтобы tableView прокручивал его вверх, чтобы гарантировать, что refreshControll показано, в любом случае, вы должны будете использовать setContentOffset: первую прокручивать Tableview к вершине перед вызовом beginRefreshing)

+0

Это, кажется, не работает для меня. Он не вращается при загрузке, несмотря на [self.tableView setContentOffset: CGPointMake (0.0,0.0)]. Как именно я использую это для достижения спина управления обновлением при начальной загрузке? –

+0

- (void) viewWillAppear: (BOOL) анимированный { [супер просмотрWillAppear: анимированный]; self.tableView.contentOffset = CGPointMake (0, -self.refreshControl.frame.size.height); [self.refreshControl beginRefreshing]; } –

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

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

}