高级布局

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

被刻印的时光 ゝ 提交于 2019-12-02 09:10:50
iOS流布局UICollectionView系列四——自定义FlowLayout进行瀑布流布局 一、引言 前几篇博客从UICollectionView的基础应用到设置UICollectionViewFlowLayout更加灵活的进行布局,但都限制在系统为我们准备好的布局框架中,还是有一些局限性,例如,如果我要进行瀑布流似的不定高布局,前面的方法就很难满足我们的需求了,如下: 这种布局无疑在app的应用中更加广泛,商品的展示,书架书目的展示,都会倾向于采用这样的布局方式,当然,通过自定义FlowLayout,我们也很容易实现。 二、进行自定义瀑布流布局 首先,我们新建一个文件继承于UICollectionViewFlowLayout: @interface MyLayout : UICollectionViewFlowLayout 为了演示的方面,这里我不错更多的封装,添加一个属性,直接让外界将item个数传递进来,我们把重心方法重写布局的方法上: @interface MyLayout : UICollectionViewFlowLayout @property(nonatomic,assign)int itemCount; @end 前面说过,UICollectionViewFlowLayout是一个专门用来管理collectionView布局的类,因此

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

馋奶兔 提交于 2019-12-01 05:34:00
iOS流布局UICollectionView系列六——将布局从平面应用到空间 一、引言 前面,我们将布局由线性的瀑布流布局扩展到了圆环布局,这使我们使用UICollectionView的布局思路大大迈进了一步,这次,我们玩的更加炫一些,想办法将布局应用的空间,你是否还记得,在管理布局的item的具体属性的类UICollectionViewLayoutAttributrs类中,有transform3D这个属性,通过这个属性的设置,我们真的可以在空间的坐标系中进行布局设计。iOS系统的控件中,也并非没有这样的先例,UIPickerView就是很好的一个实例,这篇博客,我们就通过使用UICollectionView实现一个类似系统的UIPickerView的布局视图,来体会UICollectionView在3D控件布局的魅力。系统的pickerView效果如下: 二、先来实现一个炫酷的滚轮空间布局 万丈的高楼也是由一砖一瓦堆砌而成,在我们完全模拟系统pickerView前,我们应该先将视图的布局摆放这一问题解决。我们依然来创建一个类,继承于UICollectionViewLayout: @interface MyLayout : UICollectionViewLayout @end 对于.m文件的内容,前几篇博客中我们都是在prepareLayout中进行布局的静态设置