我在我的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;
我的感觉是这与导航控制器中嵌套的视图层次结构与刷新控件不兼容有关 - 有什么建议吗?
谢谢