Я установил UIRefreshControl в моем UITableViewController (который находится внутри UINavigationController), и он работает, как ожидалось (т. Е. При спуске срабатывает правильное событие). Однако, если я программно вызываю beginRefreshing
метод экземпляра в элементе управления обновлением, например:
[self.refreshControl beginRefreshing];
Ничего не произошло. Он должен оживить и показать спиннер. endRefreshing
Метод работает должным образом , когда я звоню , что после обновления.
Я разработал базовый прототип проекта с таким поведением, и он работает правильно, когда мой UITableViewController добавляется непосредственно в корневой контроллер представления делегата приложения, например:
self.viewController = tableViewController;
self.window.rootViewController = self.viewController;
Но если я tableViewController
сначала добавлю к UINavigationController, а затем добавлю контроллер навигации в качестве rootViewController
, beginRefreshing
метод перестанет работать. Например
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
self.viewController = navController;
self.window.rootViewController = self.viewController;
Я считаю, что это как-то связано с иерархиями вложенных представлений в контроллере навигации, которые не очень хорошо сочетаются с элементом управления обновлением - есть предложения?
Спасибо