您可以在
adding it to collection’s subviews之前将UIRefreshControl添加到UICollectionView(或任何UIScrollView):
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; [refreshControl addTarget:self action:@selector(handleRefresh:) forControlEvents:UIControlEventValueChanged]; [self.collectionView addSubview:refreshControl];
当集合视图布局具有UICollectionViewScrollDirectionHorizontal
时,这不起作用.
我尝试覆盖layoutSubviews以将刷新控制放在左侧,但它不会以这种方式跟踪滚动进度.我可以欺骗它使用水平布局吗?
解决方法
我找不到任何现有的解决方案,所以我扩展了
ODRefreshControl
并支持水平布局:
我需要在MonoTouch(C#)中使用解决方案,所以我开始使用源代码移植ODRefreshControl,然后使用水平布局移植到patched it to work.
完整的C#源代码是here,将它移回Objective C应该很简单.我所做的就是在这里和那里添加一个实用功能和一些条件.