效果
对,就是简单的下拉加载更多
实现
简单点就是,使用旋转CGAffineTransformMakeRotation
- 旋转下
UICollectionView
、UICollectionViewCell
,还有滚动条
// UITableView也是如此
collectionView.transform = CGAffineTransformMakeRotation(-M_PI);
collectionView.scrollIndicatorInsets = UIEdgeInsetsMake(0.0, 0.0, 0.0, collectionView.bounds.size.width - 8.0);// 8 就是滚动条的宽度,好像比实际大一点
- 和原答案有一点不同,使用
IGListKit
时,务必在创建Cell
时旋转,不然最新的一条数据老是不能旋转,但使用UITableView
是没有这个问题的
// 从Xib或Storyboard创建
- (void)awakeFromNib{
[super awakeFromNib];
self.contentView.transform = CGAffineTransformMakeRotation(-M_PI);
}
//或手动创建
- (instancetype)initWithFrame:(CGRect)frame{
if (self = [super initWithFrame:frame]) {
self.contentView.transform = CGAffineTransformMakeRotation(-M_PI);
}
return self;
}
- 旋转后,下拉刷新使用
MJRefreshAutoNormalFooter
(因为旋转了180度) - 最后就是刷新,使用
IGListKit
可以做到局部刷新,如果使用reloadData
是会跳跃的,因为它刷新了整个列表。
好了,唯一的不熟悉的大概就是IGListKit
,不过相信聪明如你,这个IGListKit 教程还不是分分钟的事。
弯路
经历过复制粘贴的Baidu
,你大概只能搜索到千篇一律的scrollRectToVisible
、scrollToItemAtIndexPath
。不太聪明的我,都试过,都会跳跃,而且很复杂。
没事多上stackoverflow,遇到这个问题的时候,我开始也不知道怎么搜索,最后我也想到旋转,就搜索iOS tableview reverse
,没想到还真有
惯例
这个是我写的demo