#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. RabbitMQ(二):Java 操作队列

    1. 简单模式 模型: P:消息的生产者 队列:rabbitmq C:消息的消费者 获取 MQ 连接 public static Connection getConnection() throws I ...

  2. WebApi表头设置跨域

    public static class WebApiConfig { public static void Register(HttpConfiguration config) { var setti ...

  3. day8--socket文件传输

    FTP server 1.读取文件名 2.检测文件是否存在 3.打开文件 4.检测文件大小(告诉客户端发送文件的大小) 5.发送文件大小和MD5值给客户端,MD5 6.等待客户端确认(防止粘包) 7. ...

  4. openstack学习-nove控制节点部署(四)

    nove在openstack非常重要,主要负责创建虚拟机 nova计算服务 API :负责接收和响应外部请求.支持openstack API,EC2 API Cert:负责身份认证EC 2 Sched ...

  5. python全栈开发day13-迭代器、生成器、列表推导式等

    昨日内容:函数的有用信息.带参数的装饰器.多个装饰器修饰一个函数 迭代器 可迭代对象:内部含有__iter__方法 迭代器 定义:可迭代对象.__iter__()就是迭代器,含有__iter__且__ ...

  6. 【spring基础】AOP概念与动态代理详解

    一.代理模式 代理模式的英文叫做Proxy或Surrogate,中文都可译为”代理“,所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动.在一些情况下,一个客户不想或者不能够直接引用一 ...

  7. Codeforces Round #441(Div.2) F - High Cry

    F - High Cry 题目大意:给你n个数,让你找区间里面所有数或 起来大于区间里面最大数的区间个数. 思路:反向思维,找出不符合的区间然后用总数减去.我们找出每个数掌控的最左端 和最右端,一个数 ...

  8. Trident Topology开发Demo

    1.项目结构 · 2.启动的服务 无 3.驱动程序 package com.jun.trident; import backtype.storm.Config; import backtype.sto ...

  9. 中间人攻击工具mitmf(另类的XSS注入攻击)

    中间人攻击工具mitmf(另类的XSS注入攻击) (一)简介 (二)安装 (三)结合beef使用 (一)简介 Mitmf 是一款用来进行中间人攻击的工具.它可以结合 beef 一起来使用,并利用 be ...

  10. Some Formulas.

    目录 计数问题 在一个有\(n\)个点的完全图(complete graph)中有多少棵生成树 排列组合 1. 当 \(C_n^m\) 为奇数时,\((n\&m)==m\) 2. \[\sum ...