表拉刷新不起作用

Posted

技术标签:

【中文标题】表拉刷新不起作用【英文标题】:Table pull to refresh not working 【发布时间】:2015-12-22 10:04:06 【问题描述】:

当我刷新表格时,它不会刷新并且不会在屏幕上显示圆圈。 这是我的代码:-

refreshControl = [[UIRefreshControl alloc]init];

[self.tableHolidays addSubview:refreshControl];

[refreshControl addTarget:self action:@selector(refreshTable) forControlEvents:UIControlEventValueChanged];

- (void)refreshTable 
    [refreshControl endRefreshing];
    [self.tableHolidays reloadData];
 

【问题讨论】:

UIRefreshControl 在 reloadData 后尝试 endRefreshing。 [self.tableView reloadData]; [self.refreshControl endRefreshing]; @Suhailkalathil 没关系,问题是refreshTable func中的代码,他提供的代码根本没有做任何事情,调用那2行时不会神奇地出现圆圈,至少有给那幅画或什么代码 你的 tableview 是否比它的框架更小...?(我的意思是行数) @Tj3n.. 这个呢.. self.refreshControl = [[UIRefreshControl alloc] init]; [self.refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged]; [self.tableView addSubview:self.refreshControl]; - (void)refresh:(UIRefreshControl *)refreshControl [self downloadFeed]; -(void)downloadFeed [self.tableView reloadData];[self.refreshControl endRefreshing]; 【参考方案1】:

尝试互换顺序

- (void)refreshTable 

    [self.tableHolidays reloadData];
    [refreshControl endRefreshing];
 

【讨论】:

【参考方案2】:
- (void)viewDidLoad 

    [super viewDidLoad];
    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
    [refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
    [self.tableView addSubview:refreshControl];


- (void)refresh:(UIRefreshControl *)refreshControl

    // Do your stuff here, when done:
    [refreshControl endRefreshing];

【讨论】:

【参考方案3】:

刷新时先完成对Table的所有操作,然后结束刷新。

- (void)refreshTable [self.tableHolidays reloadData]; [refreshControl endRefreshing];

【讨论】:

以上是关于表拉刷新不起作用的主要内容,如果未能解决你的问题,请参考以下文章

快速刷新控制,endRefreshing 不起作用 [重复]

刷新页面时 CreateAsyncThunk 不起作用

为啥我的刷新验证码在 Firefox 中不起作用? [复制]

标题刷新不起作用

Spring Boot 2:动态刷新属性不起作用

更新后刷新网格不起作用