首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Swift 自定义布局实现 Cover Flow 效果

随着 UICollectionView 滚动,Cell 会自动的进行缩放,当 Cell 的中心点与 UICollectionView 的中心点重合时放大,偏离中心点时缩小 Cell 的滚动是分页滚动,...第二步,要实现 Cell 随 UICollectionView 滚动时具有缩放效果,就需要找一个合适的时机对 Cell 进行缩放,我的思路是先计算出 UICollectionView 整体滚动内容的中心点的...,返回一个新的偏移点坐标,它有俩个参数,第一个参数 proposedContentOffset 指的是滚动将要停止时的偏移点坐标,第二个参数 velocity 指的是滚动速度;那既然我们能获取到当前滚动即将停止的坐标...contentOffset.x + collectionView!....= false collectionView.dataSource = self collectionView.delegate = self //

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 UICollectionView 实现首页卡片轮播效果

    思路分析 通过观察上面的图我们可以得出,这个网易云的轮播控件有三个特点,分别是: 1.支持图片手动横向滚动2.支持图片自动的滚动播放3.底部的分页控件会高亮显示出当前的图片是哪一张 好了,既然已经分析出来了它的特点...JUST DO IT 想到滚动,大家首先想到的肯定是用 UIScrollView + UIImageView 的方式来实现,但是 UICollectionView 给我们提供了更好的选择,因为它本身继承自...UIScrollView 然后又支持横向滚动,所以使用 UICollectionView 来实现横向滚动效果是最好不过的。...= false collectionView.delegate = self collectionView.dataSource = self collectionView.backgroundColor...self.collectionViewFlowLayout.itemSize.width) return max(0, index) } } } 第二点,由于这个轮播图滚动支持手动滚动与自动滚动俩种方式

    2.1K20

    iOS流布局UICollectionView系列七——三维中的球型布局

    collectionViewLayout:layout];     collect.delegate=self;     collect.dataSource=self;     //这里设置的偏移量是为了无缝进行循环的滚动...didReceiveMemoryWarning];     // Dispose of any resources that can be recreated. } //这里对滑动的contentOffset进行监控,实现循环滚动...在我们的layout类中,将代码修改成如下: -(void)prepareLayout{     [super prepareLayout];      } //返回的滚动范围增加了对x轴的兼容 -(CGSize..., self.collectionView.frame.size.height/2+self.collectionView.contentOffset.y);     atti.size = CGSizeMake...滑动屏幕,这个圆球是可以进行滚动的。 TIP:这里我们只平均分配了四个方向上的布局,如果item更加小也更加多,我们可以分配到更多的方向上,使球体更加充实。

    1.5K20

    iOS流水布局UICollectionView简单使用引实现结

    不同之处在于UICollectionView需要一个布局参数来决定cell是如何布局的,默认是流水布局,也就是我们最常见的形式,也就是上面图里的形式;此外,UICollectionView除了垂直滚动,...还可以设置为水平滚动,只需要改变布局参数的设置就可以了;UICollectionView的cell只能通过注册来确定重用标识符,什么叫注册,我们还是看代码: - (void)viewDidLoad {...UICollectionViewFlowLayout) UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; // 设置滚动方式为水平...,默认是垂直滚动 // [layout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; // 初始化...代码中注释了一行,就是用来设置滚动方向为水平的,效果如下: 同样的内容,滚动方式变化后,呈现的效果也会变化。

    1.1K00

    仿淘宝类电商秒杀分页控件(附源码)

    淘抢购页面.png 可以发现,只要滚动到了中间红色那块区域的文字,颜色都会变成白色。。。 脑洞了很久也没有想到思路!后来网上查找,从一篇文章中得到了灵感 视错觉结合UI。...; #pragma makr - 同步滚动 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { UICollectionView *...collectionView = (UICollectionView *)scrollView; //同步两个collectionView的滚动 if (collectionView.tag...== BOTTOM_COLLECTIONVIEW_TAG) { [_collectionViewTop setContentOffset:collectionView.contentOffset...我的初衷其实就是把这个滚动菜单封装出来,后来发现使用这个菜单的大部分情况都是和多个子控制器一起使用,所以就再进行了一步封装,把控制器的逻辑都封装到了GFPageViewController控制器中。

    1.3K20

    iOS流布局UICollectionView系列六——将布局从平面应用到空间

    三、让滚轮滑动起来             通过上面的努力,我们已经静态布局出了一个类似pickerView的滚轮,现在我们再来添加滑动滚动的效果         首先,我们需要给collectionView...一个滑动的范围,我们以一屏collectionView的滑动距离来当做滚轮滚动一下的参照,我们在布局类中的如下方法中返回滑动区域: -(CGSize)collectionViewContentSize{... numberOfItemsInSection:0]); } 这时我们的collectionView已经可以进行滑动,但是并不是我们想要的效果,滚轮并没有滚动,而是随着滑动出了屏幕,因此,我们需要在滑动的时候不停的动态布局...四、让其循环滚动的逻辑         我们再进一步,如果滚动可以循环,这个控件将更加炫酷,添加这样的逻辑也很简单,通过监测scrollView的偏移量,我们可以对齐进行处理,因为collectionView...的偏移量设置为1屏的偏移量 collect.contentOffset = CGPointMake(0, 400); 在layout类中: //将滚动范围设置为(item总数+2)*每屏高度  -(CGSize

    1.4K20

    手把手带你撸一个网易云音乐首页(三)

    = false collectionView.delegate = self collectionView.dataSource = self collectionView.backgroundColor...我们还可以用自定义的方式来实现分页滚动。...,可以通过重写这个函数来实现自定义的分页滚动,重写这个函数的逻辑思路如下: 定义一个坐标点 CGPoint 来记录最新滚动的偏移坐标 定义俩个值分别为 UICollectionView 可滚动的最大偏移量与最小偏移量也是就...0 每次滚动停止都会调用上述的函数 func targetContentOffset(...), 在这个函数中有一个参数 proposedContentOffset 记录了滚动的目标位移坐标,通过这个坐标和记录的上次滚动的坐标可以判断出是向左滚动还是向右滚动...decelerationRate = .fast } // 这个方法的返回值,决定了 CollectionView 停止滚动时的偏移量 override func targetContentOffset

    2.3K10

    UIScrollView

    contentSize是scrollView视图的内部内容可以滚动的区域大小,也就是scrollView视图内容的实际大小。...contentOffset是scrollView实际滚动区域的左上角与视图可视区域左上角的距离。 pagingEnabled是是否以一页的大小整体进行滚动,也就是用来实现翻页的效果。...用于页面滚动停止的时候开启一个逻辑,比如视频自动播放(页面停止滚动后,开启视图滚动前暂停的gif或者视图的播放) - (void)scrollViewDidEndDecelerating:(UIScrollView...首先,整个从上而下它是一个tableView+collectionView。...(内容列表是tableView,“关注、推荐、热榜”标题栏是一个collectionView) 然后,“关注、推荐、热榜”每一个标题栏都对应一个tableView,一共有3个tableView,这三个tableView

    90520
    领券