UIRefreshControl - beginRefreshing não está funcionando quando o UITableViewController está dentro do UINavigationController

Eu configurei um UIRefreshControl no meu UITableViewController (que está dentro de um UINavigationController) e ele funciona como esperado (por exemplo, pull down ative o evento correto). No entanto, se eu invocar programaticamentebeginRefreshing método de instância no controle de atualização como:

[self.refreshControl beginRefreshing];

Nada acontece. Deve animar e mostrar o spinner. oendRefreshing método funciona corretamente quando eu chamo isso após a atualização.

Eu agitei um projeto de protótipo básico com esse comportamento e ele funciona corretamente quando o meu UITableViewController é adicionado diretamente ao controlador de visualização de raiz do delegado do aplicativo, por exemplo:

self.viewController = tableViewController;
self.window.rootViewController = self.viewController;

Mas se eu adicionar otableViewController para um UINavigationController primeiro, em seguida, adicione o controlador de navegação como orootViewController, abeginRefreshing método não funciona mais. Por exemplo.

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
self.viewController = navController;
self.window.rootViewController = self.viewController;

Meu sentimento é que isso tem algo a ver com as hierarquias de visualização aninhadas dentro do controlador de navegação que não funcionam bem com o controle de atualização - alguma sugestão?

obrigado

questionAnswers(13)

yourAnswerToTheQuestion