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

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

UICollectionView 是 iOS6 之后引入的一个新的 UI 控件,与 UITableView 有着很多相似的地方,开发过程中我们都会选择使用它们俩来为 App 的整个页面进行布局,比如说淘宝的首页...思路分析 通过观察上面的图我们可以得出,这个网易云的轮播控件有三个特点,分别是: 1.支持图片手动横向滚动2.支持图片自动的滚动播放3.底部的分页控件会高亮显示出当前的图片是哪一张 好了,既然已经分析出来了它的特点...JUST DO IT 想到滚动,大家首先想到的肯定是用 UIScrollView + UIImageView 的方式来实现,但是 UICollectionView 给我们提供了更好的选择,因为它本身继承自...UIScrollView 然后又支持横向滚动,所以使用 UICollectionView 来实现横向滚动效果是最好不过的。...: UIView?)

1.8K20

iOS开发 MVVM+RAC 的使用Demo效果ReactiveCocoa简介Demo分析代码Demo地址

demo.gif ReactiveCocoa简介 iOS开发过程中,当某些事件响应的时候,需要处理某些业务逻辑,这些事件都用不同的方式来处理。...比如按钮的点击使用action,ScrollView滚动使用delegate,属性值改变使用KVO等系统提供的方式。...Block比传统回调函数有2点优势: 允许调用点上下文书写执行逻辑,不用分离函数 Block可以使用local variables....基于以上种种优点Cocoa Touch越发支持Block式编程,这点UIView的各种动画效果可用Block实现就可以看出。...代码 由于BlocksKit的使用,当我们写Delegate和Datasource 就不用分离函数,整个逻辑都能凑在一起,比如这样定义一个collectionView: - (void)initStyle

1.6K40
您找到你想要的搜索结果了吗?
是的
没有找到

教你制作可移动的导航栏

见下图紫色圈内 网易新闻客户端 本文将会介绍这类导航栏的做法,方法很多,但关键思路是一样的,希望给大家带来帮助 一、最顶的滚动条 上面可移动的那个条,我们会想到带有滚动功能的控件,无非就是UITableView...、UICollectionView、UIScrollView,在此,我们优先选择scrollView,至于那一个个栏目,我的思路是UIButton即可。...如果选择的是UICollectionView,那一个个栏目便是UICollectionView的item 1、创建常量 private let titleWidth : CGFloat = 80 private...//选择的栏目 private var sliderView:UIView?//指示器 private var topScroll:UIScrollView?...= UIColor.orange scroll.addSubview(sliderView) self.sliderView = sliderView; 效果如下: 5、选中栏目所触发的方法 createScrollableTopBar

1.6K60

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

我们实际开发过程中,数据请求的操作必不可少,必须要先将数据提供给 ViewModel,然后在数据更新重新 Reload TableView。...在这我还是选择 Cell 中放置 UICollectionView。...我们知道 UICollectionView 的属性中,有一个分页的属性:isPagingEnabled,当设置成 true ,每次滚动的位移量等于它自身 frame 的宽度;当不设置这个分页属性,它的默认值是...停止滚动的偏移量,可以通过重写这个函数来实现自定义的分页滚动,重写这个函数的逻辑思路如下: 定义一个坐标点 CGPoint 来记录最新滚动的偏移坐标 定义俩个值分别为 UICollectionView...,我已经将实现这个效果的教程写出来了,查看此文即可:使用 UICollectionView 实现分页滑动效果 音乐日历 UI 如图: image 音乐日历的效果,不需要支持横向滚动,所以这里可以选择

2.2K10

iOS开发常用之网络

Horizo​​ntalScrollCell - Horizo​​ntalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView中实现水片方向滚动视图。...TabBarController,支持自定义TabBarItem样式或添加动画 隐藏与显示 SlideTapBar - 滚动栏菜单,向上滚动隐藏tabbar,向下滚动马上显示tabbar。...DCPathButton - Path,4.0的弹出菜单,呼出或者关闭菜单,多个小图标会分别按照逆时针和顺时针的方向进行滚动。...MediumScrollFullScreen - Medium的可扩展滚动页面,上下滚动,全屏显示内容,并自然消隐上下菜单。...ADo_GuideView - 转动的用户引导页(模仿网易bobo)因为没有应用程序包里抓到@ 3x的图片,建议iPhone5模拟器运行,保证效果〜(版本新特性,导航页,引导页)。

23.5K10

iOS 封装跑马灯和轮播效果

一、实现方法 ①、 首先用UICollectionView和计时器实现一个基本的水平滚动效果,如下图,这个太简单就不在此详述。...iOS UICollectionView ②、对比上面的效果图,我们还需要解决分页的宽度和循环滚动的问题。...自定义分页宽度:默认的分页宽度是UICollectionView的宽度,所以当分页宽度的不等于UICollectionView的宽度或分页间隔不等于0会出现错误,这时就需要我们通过自定义UICollectionViewFlowLayout.../** 返回值决定了collectionView停止滚动的偏移量 手指松开后执行 * proposedContentOffset:原本情况下,collectionView停止滚动最终的偏移量 *...,后边首尾相连需要UICollectionView可见范围内的数据源前边的元素cell //获取首尾相连循环滚动需要用到的元素,并重组数据源 - (void)resetDataSourceForLoop

4K40

【IOS开发基础系列】UICollectionView专题

标准的UICollectionView包含三个部分,它们都是UIView的子类:     • Cells 用于展示内容的主体,对于不同的cell可以指定不同尺寸和不同的内容,这个稍后再说     • Supplementary...但值得注意的UICollectionView中,不仅cell可以重用,Supplementary View和Decoration View也是可以并且应当被重用的。...这个特性很受欢迎,因此UICollectionView中Apple继承使用了这个特性,并且把其进行了一些扩展。...比如在contentView里加了一个normal和selected指定了不同图片的imageView,那么选中这个cell的同时这张图片也会normal变成selected,而不需要额外的任何代码。...需要注意根据滚动方向不同,header和footer的高和宽中只有一个会起作用。垂直滚动section间宽度为该尺寸的高,而水平滚动为宽度起作用,如图。

32830

用AutoLayout实现分页滚动

滚动视图分页 UIScrollView的pagingEnabled属性用于控制是否按分页进行滚动一些应用中会应用到这一个特性,最典型的就是手机桌面的应用图标列表。...分页图标效果图 横竖屏切换 对于带有分页功能的滚动视图来说,当需要支持横竖屏就有可能会出现横竖屏切换界面停留在两个页面中间而不是按页进行滚动的效果。...其原因是无论是分页滚动还是不分页滚动滚动都是通过调整滚动视图的contentOffset来实现的。...而当滚动视图进行横竖屏切换不会调整对应的contentOffset值,这样就导致了屏幕方向切换滚动位置出现异常。...解决的办法就是屏幕滚动的相应回调处理方法中修正这个contentOffset的值来解决这个问题。

1.9K40

UIScrollView的一步步实现1 简介1.1 工作原理1.2 UIScrollView常见的几个重要控件1.3 UIScrollView常见的重要属性1.4 手工代码实现拖动2 三个重要属性的进

当展示的内容较多,超出一个屏幕,用户可通过滚动手势来查看屏幕以外的内容。 普通的 UIView 不具备滚动功能,不能显示过多的内容。...UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 1.1 工作原理 缩放的时候,原理是操作被缩放控件的的transform数值。...缩放结束后 imageView 本身的 bounds 也没有发生变化 缩放结束后 imageView 的 center 发生了变化 1.2 UIScrollView常见的几个重要控件 UITableView UICollectionView...滚动到可见区域(靠近边缘-不会滚动到边缘外侧),如果当前区域完全可见,则什么也不做 如果指定的区域已经可视范围,不会滚动 如果指定的区域完全超出contentSize的范围,不会滚动 如果指定的区域超越了当前可视区域...是不改变原有的contentSize基础上,让scrollView中的内容向四周多滚动一些。

1.5K60

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

首先看每个方块,也就是每个cell怎么呈现,这里的cell明显是自定义的,我们用一张图片填满cell,同时底部居中的位置放置一个label。...为了显得真实一点,我用了一个随机数来决定每个cell显示的图片和文字,这样呈现的时候就不会太过千篇一律。...不同之处在于UICollectionView需要一个布局参数来决定cell是如何布局的,默认是流水布局,也就是我们最常见的形式,也就是上面图里的形式;此外,UICollectionView除了垂直滚动,...还可以设置为水平滚动,只需要改变布局参数的设置就可以了;UICollectionView的cell只能通过注册来确定重用标识符,什么叫注册,我们还是看代码: - (void)viewDidLoad {...代码中注释了一行,就是用来设置滚动方向为水平的,效果如下: 同样的内容,滚动方式变化后,呈现的效果也会变化。

99400

关于首页设计框架和一些细节处理分析

整体是一个 UICollectionView 上面是一个 Header 我现在使用原来框架面临的问题是 我的 Header 那么多元素 都超出两屏幕了 自然要滚动了 之前是商品列表和 Header 可以显示一个屏幕...我们的 Header 是很高的呀 完全行不通呀 后来继续找了几个库 添加 删除 那几天把我折腾的 差点要封掉 后来终于找到了一个第三方 可以满足90%的需求 只是底部又是会多出40高度 滚动无法联动 bug...因为下面的频道是横向滚动的 设置方向之后 UICollectionView 的 Header 就是最左边 不是我们要的结果 ?...这是之前没做任何处理 显示的结果 导致下面的频道还没有最上面时候 滚动下面 导致上面无法联动走了。...最后就做了判断 如果频道栏目没有最上面 则强行设置下面滚动试图 ContentOffSet为{0,0} 把滑动的距离代理出去 让最外层的滚动试图做对应的滚动 ?

77920

iOS 中的事件响应

/// 正在触摸的对象对应的View /// hit-testing过程绑定上去 var view: UIView?...原生触摸事件 Hit-Testing 返回的 View 开始,沿着响应链从头到尾进行传递。 UITableView、UICollectionView 的 cell 点击也是通过响应链来实现的。...当用户 UIScrollView 的一个子视图上按下,UIScrollView并不知道用户是想要滑动内容视图还是点击对应子视图,所以在按下的一瞬间, 事件 UIEvent UIApplication...当倒计时结束前,如果用户的手指发生了移动,直接滚动内容视图,不会将该事件传递给对应的子视图; 当倒计时结束,如果用户的手指位置没有改变,则调用自身的 -touchesShouldBegin:withEvent..., in view: UIView) -> Bool // UIScrollView的子类中重写该方法,用于返回是否取消已经传递给子视图的事件,默认当子视图是UIControl返回NO,否则返回YES

2.5K11

Ios常用第三方框架(二)

YOChartImageKit - 支持watchOS上绘制图表,看它最近更新挺勤快的,可以关注一下。...HorizontalScrollCell - HorizontalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView中实现水片方向滚动视图。 。...RDVTabBarController - 一个TabBar组件,可以方便设置底部菜单的文字图片,点击效果,小红点提示等。...LxTabBarController - 改变了原生tabbar切换tab的生硬效果,并加入滑动切换手势(有和界面上的其它手势发生冲突的风险,可根据具体项目予以关闭),swift版本。...通过长按选定单元格然后滚动移动到指定位置。 uicollectionview-reordering - UICollectionViews的拖拽(拖动、移动)效果,实例教程.

7.6K60

Ios常用第三方动画框架(三)

ADo_GuideView - 转动的用户引导页(模仿网易bobo) 因为没有app包里抓到@3x的图片,建议iPhone5模拟器运行,保证效果~ (版本新特性、导航页、引导页)。...HYBLoopScrollView - HYBLoopScrollView实现自动循环滚动,一般用于展示广告页。微信贴纸宣传处就使用了轮播。...iCarousel - iCarousel是一个类,它继承于UIView。用于简化实现各种类型的旋转木马(分页滚动视图),无限轮播 ,iOS开发之多图片无缝滚动组件封装与使用。...KYAnimatedPageControl - 除了滚动视图PageControl会以动画的形式一起移动,点击目标页还可快速定位。支持两种样式:粘性小球和旋转方块。...CardsAnimationDemo - swift,《使用 UICollectionView 实现的一个卡片动画》不是直接操作所有 UIView 和 CALayer 的 transform3D 属性来实现整个效果的

9K30
领券