我在我的 UITableViewController 中设置了一个 UIRefreshControl(它位于 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;
我的感觉是这与导航控制器中的嵌套视图层次结构与刷新控件不兼容 - 有什么建议吗?
谢谢