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

iOS 封装跑马灯和轮播效果

iOS UICollectionView实现跑马灯和轮播效果.gif 功能描述:WSL_RollView 是基于UICollectionView实现的支持水平和垂直两个方向上的的分页和渐进循环轮播效果...iOS UICollectionView ②、对比上面的效果图,我们还需要解决分页的宽度和循环滚动的问题。...自定义分页宽度:默认的分页宽度是UICollectionView的宽度,所以当分页宽度的不等于UICollectionView的宽度或分页间隔不等于0会出现错误,这时就需要我们通过自定义UICollectionViewFlowLayout.../** 返回值决定了collectionView停止滚动的偏移量 手指松开后执行 * proposedContentOffset:原本情况下,collectionView停止滚动最终的偏移量 *...indexPathForItemAtPoint:CGPointMake(_collectionView.contentSize.width - self.frame.size.width + 1,

4K40

iOS流布局UICollectionView系列四——自定义FlowLayout进行瀑布流布局

iOS流布局UICollectionView系列四——自定义FlowLayout进行瀑布流布局 一、引言         前几篇博客从UICollectionView的基础应用到设置UICollectionViewFlowLayout...总之,FlowLayout类将每个item的位置等布局信息放在一个数组中,在collectionView布局,会调用FlowLayout类layoutAttributesForElementsInRect... *)collectionView{     return 1; } -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection...:(NSInteger)section{     return 100; } -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView...(7_0); //配置item的旋转 @property (nonatomic) CGAffineTransform transform NS_AVAILABLE_IOS(7_0); //配置item

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

Swift 探索 UICollectionView 之 SupplementaryView 和 Decoration View

= UICollectionView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height...section: Int) -> CGSize { return CGSize(width: collectionView.frame.size.width, height: 50)...: collectionView.frame.size.width, height: 50) } } 讲到到这里,我就已经为 UICollectionView 的 section 加上了 headerView...的强大,我还实现了一个功能,那就是使得书架里的书可以自由拖拽排序,这里就用到了另外一个知识点:手势 UIGestureRecognizer 手势拖拽 在 iOS9 之后,UICollectionView...但当我真正的去整理它的一些技术点,我发现它实在是太灵活了,以前觉得追加视图,装饰视图这些东西很简单,几行代码的事情,但事实上,当你想要去实现一些高度自定义的界面的时候,你才会认识到自己的不足,你并没有对这些知识有更深层次的认知

1.8K10

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

iOS流布局UICollectionView系列六——将布局从平面应用到空间 一、引言         前面,我们将布局由线性的瀑布流布局扩展到了圆环布局,这使我们使用UICollectionView的布局思路大大迈进了一步...iOS系统的控件中,也并非没有这样的先例,UIPickerView就是很好的一个实例,这篇博客,我们就通过使用UICollectionView实现一个类似系统的UIPickerView的布局视图,来体会...至于layoutAttributesForItemAtIndexPath方法,它也是UICollectionViewLayout类中的方法,用于我们自定义进行重写,至于为什么动态布局要在这里面配置item...首先,我们先将所有的item的位置都设置为collectionView的中心: atti.center = CGPointMake(self.collectionView.frame.size.width...return CGSizeMake(self.collectionView.frame.size.width, self.collectionView.frame.size.height*([self.collectionView

1.4K20

Swift 自定义布局实现瀑布流视图

自打 Apple 在 iOS6 中引入 UICollectionView 这个控件之后,越来越多的 iOS 开发者选择将它作为构建 UI 的首选,如此吸引人的原因在于它的可定制化程度非常的高,非常的灵活...自定义布局 日常开发中,我们使用 UICollectionView 控件都会搭配一个默认的,提供一些基础的布局 UICollectionViewFlowLayout 来使用,但是当我们需要实现定制化程度比较高的界面...查阅苹果的文档可以得知,UICollectionView 的布局是抽象类 UICollectionViewLayout 的子类,它定义了 UICollectionView 中每个 item 的布局属性叫做...(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return itemCount...} func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath

2.3K30

iOS流布局UICollectionView系列五——圆环布局的实现

iOS流布局UICollectionView系列五——圆环布局的实现 一、引言         前边的几篇博客,我们了解了UICollectionView的基本用法以及一些扩展,在不定高的瀑布流布局中... alloc]init];     //先设定大圆的半径 取长和宽最短的     CGFloat radius = MIN(self.collectionView.frame.size.width, self.collectionView.frame.size.height...)/2;     //计算圆心位置     CGPoint center = CGPointMake(self.collectionView.frame.size.width/2, self.collectionView.frame.size.height... *)collectionView{     return 1; } -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection...:(NSInteger)section{     return 10; } -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView

1.4K20

iOS - Swift UICollectionView横向分页的问题UICollectionView横向分页的问题

UICollectionView横向分页的问题 情况 直接看图 滚前 滚后 已经设置collectionView的isPagingEnabled为true了,可是出现了这种情况,原因就是collectionView...contentSize: {562.5, 192.25} > 解决方案 有两种方式可以解决,数据只有11个,要分两页需要16个,那我们可以直接添加数据到16个,然后在dataSource中返回cell进行判断及处理即可...frame.size.width let nbOfScreen: Int = Int(ceil(size.width / collectionViewWidth)) let newSize...: CGSize = CGSize(width: collectionViewWidth * CGFloat(nbOfScreen), height: size.height) return newSize...ceil(2)=ceil(1.2)=cei(1.5)=2.00 效果 至于如何让item水平布局,请参考《iOS - Swift UICollectionView横向分页滚动,cell左右排版》 附上相关项目

1.2K30

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

iOS流布局UICollectionView系列七——三维中的球型布局 一、引言         通过6篇的博客,从平面上最简单的规则摆放的布局,到不规则的瀑布流布局,再到平面中的圆环布局,我们突破了线性布局的局限... *)collectionView{     return 1; } //我们返回30的标签 -(NSInteger)collectionView:(UICollectionView *)collectionView...prepareLayout];      } //返回的滚动范围增加了对x轴的兼容 -(CGSize)collectionViewContentSize{     return CGSizeMake( self.collectionView.frame.size.width...(self.collectionView.frame.size.width/2+self.collectionView.contentOffset.x, self.collectionView.frame.size.height.../self.collectionView.frame.size.height;     float angleOffsetx = offsetx/self.collectionView.frame.size.width

1.4K20

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

count } func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath:...我们知道在 UICollectionView 的属性中,有一个分页的属性:isPagingEnabled,当设置成 true ,每次滚动的位移量等于它自身 frame 的宽度;当不设置这个分页属性,它的默认值是...停止滚动的偏移量,可以通过重写这个函数来实现自定义的分页滚动,重写这个函数的逻辑思路如下: 定义一个坐标点 CGPoint 来记录最新滚动的偏移坐标 定义俩个值分别为 UICollectionView...最后记录最新的偏移坐标,然后返回 UICollectionView 停止滚动的偏移量 代码实现如下: class RowStyleLayout: UICollectionViewFlowLayout...decelerationRate = .fast } // 这个方法的返回值,决定了 CollectionView 停止滚动的偏移量 override func targetContentOffset

2.2K10
领券