UIRefreshControl 在 UITableView 中不起作用

Posted

技术标签:

【中文标题】UIRefreshControl 在 UITableView 中不起作用【英文标题】:UIRefreshControl not working in UITableView 【发布时间】:2018-04-19 10:34:19 【问题描述】:

注意:我找到了很多解决方案,但都不起作用,我想要正确的答案,所以请不要标记为重复。

我的代码:

- (void)viewDidLoad 
    [super viewDidLoad];
    IArray=[[NSMutableArray alloc]init];
    [self doSomethingWithTheJson];
    refreshControl = [[UIRefreshControl alloc]init];
    [refreshControl addTarget:self action:@selector(refreshTable:) forControlEvents:UIControlEventValueChanged];
    [self.CriTable addSubview:refreshControl];
    [self.CriTable sendSubviewToBack:refreshControl];


- (void)refreshTable:(id)sender 
    //TODO: refresh your data
    [refreshControl endRefreshing];
    [self.CriTable reloadData];

我有两个问题:

(1) UIRefreshControl 可以在没有 UITabBarCotroller 的情况下工作吗?

(2) 如果它比我的代码中的问题有效?

【问题讨论】:

你能说明它是如何不工作的吗?你的UIRefreshControl 会发生什么? @trungduc 感谢在模拟器上运行的 response.app 拉动刷新不起作用。 UIRefreshControl 正常显示,但您的 tableView 未重新加载。对吗? @trungduc:是的。如果代码中的问题比建议的问题,你能看到我的代码吗? 其实我看不出你的代码有什么问题。你能设置一个断点并确保调用refreshTable: 方法吗?你在主队列上打电话给reloadData吗? 【参考方案1】:

终于得到了我的解决方案。在我的情况下,我将tableview 反弹标记设置为未选中。 只需将tableview 反弹设置为选中即可。

【讨论】:

以上是关于UIRefreshControl 在 UITableView 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

完全禁用 UIRefreshControl - iOS

在uitableview中使用UIRefreshControl

UIRefreshControl 属性标题多行

UIRefreshControl 自动启动

UIRefreshControl:刷新时 UITableView '卡住'

如何在没有 UITableViewController 的情况下结束 UIRefreshControl