表拉刷新不起作用
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 不起作用 [重复]