我正在使用 UIRefreshControl
。我想更改其在下拉 tableview 时的刷新操作。当 tableview 稍微下拉时我需要刷新,因为我的 tableview 高度很小,我不能下拉到足以调用刷新方法。
我该如何更改它?
我只是添加了 UIRefreshControl
如下:
self.refreshControl = [[UIRefreshControl alloc]init];
_refreshControl.tintColor = [UIColor redColor];
[self.tweetTable addSubview:self.refreshControl];
[self.refreshControl addTarget:self action:@selector(refreshTable) forControlEvents:UIControlEventValueChanged];
最佳答案
因为我不认为你可以改变你必须移动多少距离才能启动刷新的行为,所以我只会在用户滚动足够多时手动触发它,比如:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
guard !refreshControl.isRefreshing else {
return//do nothing if we are already refreshing
}
//set your threshold to whatever feels ok (I used -30 here)
if scrollView.contentOffset.y < -30 {
refreshTable()
refreshControl.beginRefreshing()
}
}
当刷新处于事件状态时,您可能还需要适本地偏移表格 View ,以便 UIActivityIndicator
位于您的单元格上方,然后在完成刷新后再次调整它。请注意,一旦 API
调用完成或无论您在那里做什么,您都必须在 refreshTable()
方法中调用 refreshControl.endRefreshing()
。 .
关于ios - 拉动刷新默认刷新级别更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51513601/