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 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
在uitableview中使用UIRefreshControl