最佳答案
我已经在我的 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;
我的感觉是,这与导航控制器中嵌套的视图层次结构不能很好地处理刷新控件有关——有什么建议吗?
谢谢