我已经在UITableViewController(位于UINavigationController内部)中设置了UIRefreshControl,并且它按预期工作(即,下拉触发正确的事件)。但是,如果我以编程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;
我的感觉是,这与导航控制器中的嵌套视图层次结构与刷新控件的效果不佳有关-有任何建议吗?
谢谢