J'ai configuré un UIRefreshControl dans mon UITableViewController (qui est à l'intérieur d'un UINavigationController) et cela fonctionne comme prévu (c'est-à-dire que le pull down déclenche l'événement correct). Cependant, si j'appelle par programme la beginRefreshing
méthode d'instance sur le contrôle d'actualisation comme:
[self.refreshControl beginRefreshing];
Rien ne se passe. Il doit s'animer et afficher le spinner. La endRefreshing
méthode fonctionne correctement lorsque j'appelle cela après l'actualisation.
J'ai créé un projet de prototype de base avec ce comportement et cela fonctionne correctement lorsque mon UITableViewController est ajouté directement au contrôleur de vue racine du délégué d'application, par exemple:
self.viewController = tableViewController;
self.window.rootViewController = self.viewController;
Mais si j'ajoute d'abord le tableViewController
à un UINavigationController, puis ajoute le contrôleur de navigation en tant que rootViewController
, la beginRefreshing
méthode ne fonctionne plus. Par exemple
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
self.viewController = navController;
self.window.rootViewController = self.viewController;
Mon sentiment est que cela a quelque chose à voir avec les hiérarchies de vues imbriquées dans le contrôleur de navigation qui ne jouent pas bien avec le contrôle de rafraîchissement - des suggestions?
Merci