的个数 -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section...{ return 10; } //定义展示的Section的个数 -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)...collectionView { return 2; } //每个UICollectionView展示的内容 -(UICollectionViewCell )collectionView:(UICollectionView...的 margin -(UIEdgeInsets)collectionView:(UICollectionView )collectionView layout:(UICollectionViewLayout...被选中时调用的方法 -(void)collectionView:(UICollectionView )collectionView didSelectItemAtIndexPath:(NSIndexPath
iOS流布局UICollectionView系列一——初识与简单使用UICollectionView 一、简介 UICollectionView是iOS6之后引入的一个新的UI控件,它和...,完全自定义一套layout布局方案,可以实现意想不到的效果 这篇博客,我们主要讨论CollectionView使用原生layout的方法和相关属性,其他特点和更强的制定化,会在后面的博客中介绍 二、先来实现一个最简单的九宫格类布局... 在了解UICollectionView的更多属性前,我们先来使用其进行一个最简单的流布局试试看,在controller的viewDidLoad中添加如下代码: //创建一个layout...是iOS6.0之前的新类,因此这里统一了从复用池中获取cell的方法,没有再提供可以返回nil的方式,并且在UICollectionView的回调代理中,只能使用从复用池中获取cell的方式进行cell...,信息如下,让我们使用从复用池中取cell的方式: ?
在上篇博客中,给大家演示了如何利用 UICollectionView 这个强大的控件去实现一个卡片轮播的效果,后来有网友联系我说:"他遇到一个问题,当他滚动的 item 宽度与屏幕宽度一致时,滚动效果是正常的...这个问题确实是存在的,因为在 UICollectionView 的属性中,有一个分页的属性:isPagingEnabled,当设置成 true 时,每次滚动的位移量等于屏幕的宽度;当不设置这个分页属性,...有人要问那是不是 UICollectionView 这个控件就只能按照屏幕的大小来分页呢!答案当然是否定的。 那自定义滚动分页该如何实现呢!...,决定了 UICollectionView 停止滚动时的偏移量,可以通过重写这个函数来实现自定义的分页滚动,重写这个函数的逻辑思路如下: 1.定义一个坐标点 CGPoint 来记录最新滚动的偏移坐标2....定义俩个值分别为 UICollectionView 可滚动的最大偏移量与最小偏移量也是就 03.每次滚动停止都会调用上述的函数 func targetContentOffset(...), 在这个函数中有一个参数
大家好,又见面了,我是你们的朋友全栈君。...//点击选定 – (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath...NSLog(@”第%ld区,第%ld个“,(long)indexPath.section,(long)indexPath.row); } //取消选定 -(void)collectionView:(UICollectionView
使用流式布局 继承 UICollectionViewDataSource,UICollectionViewDelegateFlowLayout 设置 Swift self.collectionView.register...的下标 NSIndexPath *firstIndexPath = [[self.collectionView indexPathsForVisibleItems] firstObject];...,对应的class文件如下 class QuestionBookHeader: UICollectionReusableView { @IBOutlet weak var titleLabel:...QuestionBookHeader; if(indexPath.section == 0){ header.titleLabel.text = "我的分类" }else...{ header.titleLabel.text = "推荐分类" } return header } 使用自定义布局 继承 UICollectionViewDataSource
前言 今天跟大家来聊聊一个强大的 UI 控件:UICollectionView。...UICollectionView 是 iOS6 之后引入的一个新的 UI 控件,与 UITableView 有着很多相似的地方,在开发过程中我们都会选择使用它们俩来为 App 的整个页面进行布局,比如说淘宝的首页...如何使用 UICollectionView 实现网易云首页卡片轮播效果。...UIScrollView 然后又支持横向滚动,所以使用 UICollectionView 来实现横向滚动效果是最好不过的。...,但是如果要正式在 app 中使用,并且达到很好的用户体验还是有很大的优化空间的。
UICollectionView横向分页的问题 情况 直接看图 滚前 滚后 已经设置collectionView的isPagingEnabled为true了,可是出现了这种情况,原因就是collectionView...的contentSize不够。...UICollectionView: 0x7fc565076000; frame = (0 0; 375 197); clipsToBounds = YES; gestureRecognizers...),让UICollectionView在创建的时候使用了它 在 LXFChatMoreCollectionLayout.swift 中我们需要重写父类的collectionViewContentSize...ceil(2)=ceil(1.2)=cei(1.5)=2.00 效果 至于如何让item水平布局,请参考《iOS - Swift UICollectionView横向分页滚动,cell左右排版》 附上相关项目
iOS流布局UICollectionView系列二——UICollectionView的代理方法 一、引言 在上一篇博客中,介绍了最基本的UICollectionView的使用和其中我们常用的属性和方法...,也介绍了瀑布流布局的过程与思路,这篇博客是上一篇的补充,来讨论关于UICollectionView的代理方法的使用。...博客地址: UICollectionView的简介和简单使用:http://my.oschina.net/u/2340880/blog/522613 二、UICollectionViewDataSource...下面的方法是可选实现的: 虽然这个方法是可选的,一般我们都会去实现,设置分区数 - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView...,只有copy,cut和paste三个方法可以使用 - (void)collectionView:(UICollectionView *)collectionView performAction:(SEL
今天写代码,遇见了这样的错误,检查代码都没有错误,运行还是报如下的错误: *** Assertion failure in -[UICollectionView _dequeueReusableViewOfKind...forIndexPath:viewCategory:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UICollectionView.m...:3983 这是我写的代码 ?...找了还就,最终找到错误原因:在自定义xib时,额外多了一个控件在另外的区域,把此控件删掉即可。 如图: ? 把多余的imageview删除即可。还是自己太马虎啊。
引 开发中我们最常看到的可能是表视图UITableView了,但其实还有一个视图也很常见,特别是一些图片、商品、视频的展示界面,用UICollectionView来展现往往会更加方便。...如果熟悉UITableView的话,其实很多地方都是类似的,甚至可以说UITableView是一种特殊的UICollectionView,正如正方形是一种特殊的矩形一样,UITableView就是一种每行只放一个方块的...控制器 接着我们来创建UICollectionView,UICollectionView和UITableView的相同之处在于它们都是由DataSource填充内容并有Delegate来管理响应的,并且都实现了循环利用的优化...不同之处在于UICollectionView需要一个布局参数来决定cell是如何布局的,默认是流水布局,也就是我们最常见的形式,也就是上面图里的形式;此外,UICollectionView除了垂直滚动,...的使用方式,就像UITableView可以简单也可以做的非常多样,UICollectionView也是一种乍看很平常但可以容纳非常多想象力的布局方式,只要善加利用就可以做出很好的效果,当然,什么时候用UICollectionView
前言 iOS UICollectionView 从右向左对齐(Aligning right to left on UICollectionView) 实现原理:采用setTransform对其进行水平翻转...在这里插入图片描述 I 、UICollectionView 从右向左对齐 本文按钮的视图结构 bottomV 内部采用UICollectionView进行布局。...collectionView setTransform:CGAffineTransformMakeScale(-1,1)]; 在更新UICollectionViewCell的数据模型时,对它的contentView...设置阴影的圆角,//阴影的扩散范围,相当于blur radius,也是shadow的渐变距离,从外围开始,往里渐变shadowRadius距离 } /** NSMutableArray...上从右向左对齐(Aligning right to left on UICollectionView) //1、首先,在创建UICollectionView时,我对其进行了水平翻转:
iOS流布局UICollectionView系列三——使用FlowLayout进行更灵活布局 一、引言 前面的博客介绍了UICollectionView的相关方法和其协议中的方法,但对布局的管理类...UICollectionView的简单使用:http://my.oschina.net/u/2340880/blog/522613 UICollectionView相关协议方法:http://my.oschina.net...二、将九宫格式的布局进行升级 在第一篇博客中,通过UICollectionView,我们很轻松的完成了一个九宫格的布局,但是如此中规中矩的布局方式,有时候并不能满足我们的需求,有时我们需要每一个...,双数的为50*50 单数的为100*100 -(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout...:(NSInteger)section; 动态设置每行的间距大小 - (CGFloat)collectionView:(UICollectionView *)collectionView layout:
(nonatomic, strong) Class cellClass; //单个collectionView中使用的cell类型, 需要实现TBCollectionViewCellProtocol...实现 [ ] UICollectionViewUICollectionViewUICollectionViewUICollectionView 灰色的是容器View 紫色的是UIScrollView 蓝色的是...UICollectionView 红色的是UICollectionViewCell 下方小点点是TBScrollPageControl 关键代码: 根据setDataList传入的数据创建CollectionView...*collectionView = [[UICollectionView alloc] initWithFrame:frame collectionViewLayout:flowLayout];...: #pragma mark - UICollectionDataSource - (CGSize)collectionView:(UICollectionView *)collectionView
739006-20160607165303027-1215360678.png 先说说控制器里面的代码,控制器里面就是我们的 UICollectionView 的一些基本的创建了。...其实它和 UITableView 相比较的话,但从创建使用看的话,是挺相似的,但其实它真的比 UITableView 要强大好多!很值得大家去好好的学习学习!...,要是对 UICollectionView 不怎么熟悉的话,你可以看看 这篇博客。...上面的控制器说完了,就到重点了,也就是继承与 UICollectionViewFlowLayout 的 zxFlowLayout ,有一点大家注意一下,就是你在初始化UICollectionView... 的时候, [UICollectionView alloc]initWithFrame:(CGRect) collectionViewLayout:(nonnull UICollectionViewLayout
iOS流布局UICollectionView系列五——圆环布局的实现 一、引言 前边的几篇博客,我们了解了UICollectionView的基本用法以及一些扩展,在不定高的瀑布流布局中...这种布局方式在apple的官方文档中也有介绍,是UICollectionView的一个应用示例。...是一个布局抽象基类,我们要使用自定义的布局方式,必须将其子类化,可能你还记得,我们在进行瀑布流布局的时候使用过UICollectionViewFlowLayout类,这个类就是继承于UICollectionViewLayout...,来进行圆环布局的设置,首先是prepareLayout,为布局做一些准备工作,使用collectionViewContentSize来设置内容的区域大小,最后使用layoutAttributesForElementsInRect...,我们就实现哦圆环布局,随着item的多少,布局会自动调整,如果不是UICollectionView的功劳,实现这样的功能,我们可能要写上一阵子了^_^。
iOS开发UINavigation系列三——工具栏UIToolBar iOS中除了UINavinationBar之外,还有工具栏UIToolBar可以供我们使用,工具栏和导航栏十分类似,...只是功能更加简单,工具栏中也有UIBarButtonItem按钮,在前两篇博客中,对导航栏和导航项都进行的讨论,地址如下: UINavigationBar:http://my.oschina.net/u...,与之相对,工具栏一般会出现在视图的的底部,上面可以填充一些按钮,提供给用户一些操作。...创建一个工具栏如下: self.view.backgroundColor = [UIColor grayColor]; UIToolbar * tool = [[UIToolbar alloc...下面是UIToolBar中的一些方法,其中大部分在UINavigationBar中都有涉及,这里只做简单的介绍: //工具栏的风格,和导航栏类似,有黑白两种 @property(nonatomic) UIBarStyle
UICollectionView之所以强大,是因为其具有自定义功能,这一自定义就不得了啦,自由度非常大,定制的高,所以功能也是灰常强大的。本篇博客就不使用自带的流式布局了,我们要自定义一个瀑布流。...下面这些运行效果就是修改不同的配置参数来进行布局的。看图吧,关于瀑布流的效果就不啰嗦了。以下的效果就是使用自定义布局做的,接下来将会介绍一下其实现原理。 ? 二. ...UICollectionView的自定义功能就是自己去实现UICollectionViewLayout的子类,然后重写相应的方法来实现Cell的布局,先介绍一下需要重写的方法,然后再此方法上进行应用实现上述瀑布流...接下来要使用自定义布局来实现瀑布流。...根据Cell的最小高度和最大高度来利用随机数计算每个Cell的高度,把每个Cell的高度记录在数组中,便于Cell加载时使用。
项目中想实现空态页风格统一控制的效果,就封装了一个默认空态页,使用的技术点有:1 方法替换 ,2 给分类(Category)添加属性。 ...但是分类(Category)不可以,但是我们又想在原生的UITableView和UICollectionView上添加空态页,所以使用了黑科技runtime中提供的对象关联。
前言 我们在使用键盘的时候,在打字完毕后想要收起键盘继续操作,要么是习惯性点击界面空白处收起键盘,要么是在键盘上方点击一个“完成”之类的按钮来收起键盘。...在Android上键盘的完成按钮是自带的,但是iOS没有,所以需要开发者自行添加上去一个,这里就要用到工具栏UIToolbar。...同样,在使用选取器的时候,最常见的就是选择省市区时,选择完毕后我们想要收起选取器,一种做法时点击空白界面来唤起一个响应,另一种更常见的做法还是自行添加一个工具栏上去,因为这时往往需要两个按钮,一个“取消...很遗憾,选取器也没有自带这两个按钮,还是需要使用工具栏UIToolbar来做这两个按钮。 本文就根据实例来讲解怎么在键盘和选取器上添加工具栏按钮。...上面我们是将一个tooBar作为inputAccessoryView,这就是另一种实现方式,不使用delegate,单独创建一个UIToolBar,直接设置上去,这个toolbar的样式与功能和键盘的工具栏是不一样的
领取专属 10元无门槛券
手把手带您无忧上云