我有一个有 1 行的自定义水平集合视图,我想添加拉取刷新功能,默认情况下,该功能显示在我的单元格行上方。我希望用户能够从左到右拉取集合视图以激活 UIRefreshControl。有什么想法吗?
为此
,您需要实现UIScrollViewDelegate方法
。- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGPoint offset = scrollView.contentOffset;
CGRect bounds = scrollView.bounds;
CGSize size = scrollView.contentSize;
UIEdgeInsets inset = scrollView.contentInset;
float y = offset.x + bounds.size.width - inset.right;
float h = size.width;
float reload_distance = 75; //distance for which you want to load more
if(y > h + reload_distance) {
// write your code getting the more data
NSLog(@"load more rows");
}
}
更新了 Swift 5.0 的 Nitin's 答案
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offset = scrollView.contentOffset
let bounds = scrollView.bounds
let size = scrollView.contentSize
let inset = scrollView.contentInset
let y = offset.x + bounds.size.width - inset.right
let h = size.width
let reload_distance = 75 //distance for which you want to load more
if y > h + CGFloat(reload_distance) {
//reload
reload()
}
}
使用此
http://code4app.net/ios/RefreshView/5247b46b6803fa7304000000.it 用于刷新视图,以同样的方式刷新集合视图。