#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在初始化的时候移动到某个距离的更多相关文章

  1. 自定义UICollectionViewController之后 如何设置UICollectionView的布局方式

    我们很多时候使用UICollectionView 可能都是直接创建 UICollectionView   通过初始化的时候  传入一个布局对象的方式来使用UICollectionView 比如我们之前 ...

  2. 自定义UICollectionViewController之后 如何设置UICollectionView的布局方式--备用

    我们很多时候使用UICollectionView 可能都是直接创建 UICollectionView   通过初始化的时候  传入一个布局对象的方式来使用UICollectionView 比如我们之前 ...

  3. 常用几个UITableView,UICollectionView  UIScrollView关键点

    UITableView   UITableView 在Ios中大量使用,我们对UITableview中的有关知识进行整理     UITAbleView是表视图控制器    1 UITableView ...

  4. UICollectionView在Swift3.0中的用法

    UICollectionView在Swift3.0中的用法 UICollectionView的初始化跟OC中是相似的,创建 GameView 集成自 UICollectionView .注意不同于UI ...

  5. UICollectionView的常用方法

    class UICollectionView : UIScrollView //初始化,位置,风格 init(frame: CGRect, collectionViewLayout layout: U ...

  6. iOS-UICollectionView

    1--------------------------------------------------------------------------------------------------- ...

  7. UIColletionView 的属性与常用方法介绍

    UICollectionView基础   初始化部分: UICollectionViewFlowLayout *flowLayout= [[UICollectionViewFlowLayout all ...

  8. 梯度下降(Gradient Descent)小结

    在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法.这里就对梯度下降法做一个完整的总结. 1. 梯度 在微 ...

  9. JavaScript实现拖拽元素对齐到网格(每次移动固定距离)

    这几天在做一个拖拽元素的附加功能,就是对齐到网格,实际上就是确定好元素的初始位置,然后拖拽元素时,每次移动固定的距离.让元素都可以在网格内对齐.先上效果图,然后在详细说明一下细节问题 做了一个gif图 ...

随机推荐

  1. hdu 2112 map+Dijkstra

    无向图 用map 起点和终点可能一样 数组不能开太大 WA了好多发 Sample Input6xiasha westlake //起点 终点xiasha station 60xiasha Shoppi ...

  2. BZOJ1179 [Apio2009]Atm Tarjan 强连通缩点 动态规划

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1179 题意概括 有一个有向图,每一个节点有一个权值,其中有一些结束点. 现在,你要从S出发,到达任 ...

  3. pandas.cut使用总结

    用途 pandas.cut用来把一组数据分割成离散的区间.比如有一组年龄数据,可以使用pandas.cut将年龄数据分割成不同的年龄段并打上标签. 原型 pandas.cut(x, bins, rig ...

  4. ubuntu18.04 lts重装VMware Tools实现主机文件共享等功能

    ubuntu18.04 lts重装VMware Tools实现主机文件共享等功能 在VMWare 14.x上安装ubunuu18.04 lts后发现,可以实现全屏显示,但是没有与主机共享文件的功能,然 ...

  5. mac 回车键、空格键失灵(非物理原因)解决方法

    1.关机2.按住shift+control+option+开关机键,大概10秒左右,观察键盘电源灯是否变色,确定是否硬件故障,不变色表正常.3.先按下开关机键后,放开.然后同时按住option+com ...

  6. 洛谷 P1004 方格取数 【多进程dp】

    题目链接:https://www.luogu.org/problemnew/show/P1004 题目描述 设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放 ...

  7. JavaNIO快速入门

    NIO是Jdk中非常重要的一个组成部分,基于它的Netty开源框架可以很方便的开发高性能.高可靠性的网络服务器和客户端程序.本文将就其核心基础类型Channel, Buffer, Selector进行 ...

  8. 洛谷P1784 数独

    To 洛谷.1784 数独(类似(或者说相同)题:CODEVS.4966 简单数独(4*4数独) CODEVS.2924 数独挑战) 题目描述 数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数 ...

  9. BZOJ.3262.陌上花开([模板]CDQ分治 三维偏序)

    题目链接 BZOJ3262 洛谷P3810 /* 5904kb 872ms 对于相邻x,y,z相同的元素要进行去重,并记录次数算入贡献(它们之间产生的答案是一样的,但不去重会..) */ #inclu ...

  10. PHP抓取网页内容经验总结

    用php 抓取页面的内容在实际的开发当中是非常有用的,如作一个简单的内容采集器,提取网页中的部分内容等等,抓取到的内容在通过正则表达式做一下过滤就得到了你想要的内容,至于如何用正则表达式过滤,在这里就 ...