He configurado un UIRefreshControl en mi UITableViewController (que está dentro de un UINavigationController) y funciona como se esperaba (es decir, pull down dispara el evento correcto). Sin embargo, si invoco programáticamente el beginRefreshing
método de instancia en el control de actualización como:
[self.refreshControl beginRefreshing];
No pasa nada. Debe animarse y mostrar la ruleta. El endRefreshing
método funciona correctamente cuando lo llamo después de la actualización.
Desarrollé un proyecto prototipo básico con este comportamiento y funciona correctamente cuando mi UITableViewController se agrega directamente al controlador de vista raíz del delegado de la aplicación, por ejemplo:
self.viewController = tableViewController;
self.window.rootViewController = self.viewController;
Pero si tableViewController
primero agrego el a un UINavigationController, luego agrego el controlador de navegación como el rootViewController
, el beginRefreshing
método ya no funciona. P.ej
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
self.viewController = navController;
self.window.rootViewController = self.viewController;
Mi sensación es que esto tiene algo que ver con las jerarquías de vista anidadas dentro del controlador de navegación que no funcionan bien con el control de actualización, ¿alguna sugerencia?
Gracias