zoukankan      html  css  js  c++  java
  • UICollectionView在初始化的时候移动到某个距离

    #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;

    }








  • 相关阅读:
    Pandas包对多个数据表(DataFrame)的常用整合功能。
    pandas numpy 简单应用 loandata
    榛果 美团 登录 爬虫 requests session
    python 日期循环
    opencv 验证码 识别
    运行MapReduce任务
    CenOS安装MySQL服务
    leetcode 67. 二进制求和
    最近对一些领域比较感兴趣,这里列举出来供以后查阅
    leet code 1014. 最佳观光组合
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7397552.html
Copyright © 2011-2022 走看看