Eu configurei um UIRefreshControl em meu UITableViewController (que está dentro de um UINavigationController) e funciona como esperado (ou seja, puxar para baixo dispara o evento correto). No entanto, se eu invocar programaticamente o beginRefreshing
método de instância no controle de atualização, como:
[self.refreshControl beginRefreshing];
Nada acontece. Deve animar para baixo e mostrar o botão giratório. O endRefreshing
método funciona corretamente quando eu chamo isso após a atualização.
Eu criei um projeto de protótipo básico com esse comportamento e ele funciona corretamente quando meu UITableViewController é adicionado diretamente ao controlador de visualização raiz do delegado do aplicativo, por exemplo:
self.viewController = tableViewController;
self.window.rootViewController = self.viewController;
Mas se eu adicionar o tableViewController
a um UINavigationController primeiro e, em seguida, adicionar o controlador de navegação como o rootViewController
, o beginRefreshing
método não funcionará mais. Por exemplo
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
self.viewController = navController;
self.window.rootViewController = self.viewController;
Minha impressão é que isso tem algo a ver com as hierarquias de visualização aninhadas dentro do controlador de navegação que não funcionam bem com o controle de atualização - alguma sugestão?
obrigado