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;

    }








  • 相关阅读:
    采购申请 POCIRM-001:ORA-01403: 未找到任何数据
    前后端交互技术有哪些
    React实现类似淘宝tab居中切换效果
    CSS通过text-transform实现大写、小写和首字母大写转换
    从浏览器内部运行机制看性能优化
    设置网页浏览器标签小图标
    前后端分离的优缺点
    修改input搜索框默认叉号的样式为自定义图片
    编写优秀CSS代码的8个策略
    css如何设置不可复制?
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7397552.html
Copyright © 2011-2022 走看看