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

时间:2013-04-20 13:15:38

标签: ios6 uitableview uirefreshcontrol

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

[self.refreshControl beginRefreshing];

我的UITableViewController子类使用UIRefreshControl

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

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

但是当我在viewDidLoad上调用beginRefreshing时,我看不到微调器(只有当我向下拖动表时)。

注意:

  • self.refreshControl reference is right

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

编辑: 仅当contentOffset的{​​{1}}属性为0且我调用tableView时才会发生这种情况。错误? Feauture吗

2 个答案:

答案 0 :(得分:28)

对我来说这看起来像个错误,因为它只发生在contentOffset的{​​{1}}属性为tableView

的情况下

我用以下代码修改了它(UITableViewController的方法):

0

答案 1 :(得分:3)

你的修复看起来不错,但我不认为这是一个错误。

手动调用beginRefreshing方法时,

当没有可用的行/单元格时,刷新控制自动出现是有意义的。   但是当有一些单元可用时,当我们调用手动开始刷新时(我们根据计时器定期刷新的情况)那么它不应该动画/更改内容偏移,因为如果他看到/正在阅读内容,它会分散用户的注意力一些可见细胞。