相关疑难解决方法(0)

UIRefreshControl - 当UITableViewController在UINavigationController中时,beginRefreshing无效

我在我的UITableViewController(在UINavigationController中)设置了一个UIRefreshControl,它按预期工作(即下拉触发正确的事件).但是,如果我以编程beginRefreshing方式在刷新控件上调用实例方法,如:

[self.refreshControl beginRefreshing];
Run Code Online (Sandbox Code Playgroud)

什么都没发生.它应该动画下来并显示微调器.endRefreshing刷新后调用时,该方法可以正常工作.

我用这种行为掀起了一个基本的原型项目,当我的UITableViewController直接添加到应用程序委托的根视图控制器时它可以正常工作,例如:

self.viewController = tableViewController;
self.window.rootViewController = self.viewController;
Run Code Online (Sandbox Code Playgroud)

但是,如果我首先添加tableViewController到UINavigationController,然后添加导航控制器rootViewController,该beginRefreshing方法不再有效.例如

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
self.viewController = navController;
self.window.rootViewController = self.viewController;
Run Code Online (Sandbox Code Playgroud)

我的感觉是这与导航控制器中的嵌套视图层次结构有关,不能与复习控件一起使用 - 任何建议?

谢谢

objective-c uitableview uinavigationcontroller ios uirefreshcontrol

114
推荐指数
10
解决办法
6万
查看次数

如何"隐藏"UIRefreshControl?

偶尔我的表视图将不会连接到要刷新的服务,在这种情况下,我不希望UIRefreshControl存在.

我在viewDidLoad中添加它后,我尝试在某些情况下隐藏它setEnabled:,setHidden:但似乎都没有效果.

objective-c ios uirefreshcontrol

31
推荐指数
5
解决办法
2万
查看次数

如何以编程方式向下滑动UITableView以显示底层的UIRefreshControl

当我以编程方式更新表时,如何显示UIRefreshControl?使用[self.refreshControl beginRefreshing]使微调器具有动画效果,但不会显示它.

uitableview ios6 uirefreshcontrol

23
推荐指数
4
解决办法
1万
查看次数

调用beginRefreshing并且contentOffset为0时,UIRefreshControl没有显示多刺

调用时我无法看到加载微调器 beginRefreshing

[self.refreshControl beginRefreshing];
Run Code Online (Sandbox Code Playgroud)

我的UITableViewController子类使用UIRefreshControl

// refresh
    UIRefreshControl * refreshControl = [UIRefreshControl new];
    [refreshControl addTarget:self action:@selector(refreshTableView) forControlEvents:UIControlEventValueChanged];
    self.refreshControl = refreshControl;
Run Code Online (Sandbox Code Playgroud)

它与用户交互完美配合(当用户将表放下时),然后可以看到微调器.

但是当我调用beginRefreshingviewDidLoad时,我没有看到微调器(只有当我向下拖动表时).

笔记:

  • self.refreshControl引用是对的

  • 在beginRefreshing之后不会立即调用reloadData或endRefreshing,但是有很长的时间延迟(通过网络加载数据),所以我没有取消beginRefreshing.

编辑: 这只发生在0和i调用的contentOffset属性时.错误?Feauture?tableView[self.refreshControl beginRefreshing]

uitableview ios6 uirefreshcontrol

11
推荐指数
1
解决办法
1万
查看次数