Skonfigurowałem UIRefreshControl w moim UITableViewController (który znajduje się wewnątrz UINavigationController) i działa zgodnie z oczekiwaniami (tj. Pull down uruchamia prawidłowe zdarzenie). Jeśli jednak programowo wywołam beginRefreshing
metodę wystąpienia na kontrolce odświeżania, na przykład:
[self.refreshControl beginRefreshing];
Nic się nie dzieje. Powinien się animować i pokazywać przędzarkę. endRefreshing
Metoda działa prawidłowo, gdy zgłoszę, że po odświeżeniu.
Przygotowałem podstawowy projekt prototypowy z tym zachowaniem i działa on poprawnie, gdy mój UITableViewController jest dodawany bezpośrednio do głównego kontrolera widoku delegata aplikacji, np:
self.viewController = tableViewController;
self.window.rootViewController = self.viewController;
Ale jeśli tableViewController
najpierw dodam do UINavigationController, a następnie dodam kontroler nawigacji jako rootViewController
, beginRefreshing
metoda przestanie działać. Na przykład
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
self.viewController = navController;
self.window.rootViewController = self.viewController;
Mam wrażenie, że ma to coś wspólnego z zagnieżdżonymi hierarchiami widoków w kontrolerze nawigacyjnym, które nie działają dobrze z kontrolką odświeżającą - jakieś sugestie?
Dzięki