Ho installato un UIRefreshControl nel mio UITableViewController (che si trova all'interno di un UINavigationController) e funziona come previsto (ovvero il pull down attiva l'evento corretto). Tuttavia, se richiamo a livello di codice il beginRefreshing
metodo di istanza sul controllo di aggiornamento come:
[self.refreshControl beginRefreshing];
Non succede niente. Dovrebbe animarsi verso il basso e mostrare lo spinner. Il endRefreshing
metodo funziona correttamente quando lo chiamo dopo l'aggiornamento.
Ho creato un prototipo di progetto di base con questo comportamento e funziona correttamente quando il mio UITableViewController viene aggiunto direttamente al controller di visualizzazione radice del delegato dell'applicazione, ad esempio:
self.viewController = tableViewController;
self.window.rootViewController = self.viewController;
Ma se aggiungo prima il tableViewController
a un UINavigationController, quindi aggiungo il controller di navigazione come il rootViewController
, il beginRefreshing
metodo non funziona più. Per esempio
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
self.viewController = navController;
self.window.rootViewController = self.viewController;
La mia sensazione è che questo abbia qualcosa a che fare con le gerarchie di visualizzazione annidate all'interno del controller di navigazione che non funzionano bene con il controllo di aggiornamento - qualche suggerimento?
Grazie