码迷,mamicode.com
首页 > 移动开发 > 详细

UICollectionView在初始化的时候移动到某个距离

时间:2017-08-19 20:09:26      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:turn   art   fse   should   source   span   use   end   文件   

#pragma mark  -- 使用场景:选中非第一张图片用CollectionView进行浏览时,CollectionView滑动到对应的位置

#pragma mark  -- 重点在于UICollectionViewFlowLayout的prepareLayout方法的使用


#pragma mark  -- 自己定义UICollectionViewFlowLayout的h文件

@interface SSCollectionViewFlowLayout : UICollectionViewFlowLayout

/**

 *  collectionView的偏移量

 */

@property (nonatomic, assign) CGPoint offsetpoint;

@end


#pragma mark  -- 自己定义UICollectionViewFlowLayout的m文件

@implementation SSCollectionViewFlowLayout

- (instancetype)init{

    self = [super init];

    if (self) {

        self.scrollDirection = UICollectionViewScrollDirectionHorizontal;

    }

    return self;

}


- (void)prepareLayout{

    [super prepareLayout];

    self.collectionView.contentOffset = self.offsetpoint;

}


- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)oldBounds{

    

    return NO;

}


#pragma mark  --  剩下的工作就是在UICollectionView 所在的ViewController设置偏移量

@property (nonatomic, strong) SSCollectionViewFlowLayout *viewLayout;

@property (nonatomic, strong) UICollectionView *ssCollectionView;



- (void)viewWillAppear:(BOOL)animated{

    [super viewWillAppear:animated];

    self.ssCollectionView.frame = CGRectMake(0.f, 0.f, ScreenWidth, ScreenHeight);

    self.viewLayout.offsetpoint = CGPointMake(ScreenWidth *self.indexNumber, 0.f);

}


- (UICollectionView *)ssCollectionView{

    if (_ssCollectionView != nil) {

        return _ssCollectionView;

    }

    self.viewLayout = [[SSCollectionViewFlowLayout alloc] init];

    _ssCollectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:self.viewLayout];

    _ssCollectionView.showsHorizontalScrollIndicator = FALSE; // 去掉滚动栏

    _ssCollectionView.pagingEnabled = YES;

    _ssCollectionView.delegate = self;

    _ssCollectionView.dataSource = self;

    [_ssCollectionView registerClass:[CustomCollectionViewCell class] forCellWithReuseIdentifier:@"CollectionCell"];

    return _ssCollectionView;

}








UICollectionView在初始化的时候移动到某个距离

标签:turn   art   fse   should   source   span   use   end   文件   

原文地址:http://www.cnblogs.com/gavanwanggw/p/7397552.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!