iOS开发UICollectionView实现拖拽效果 一.介绍 iOS9提供API实现单元格排序功能,使用UICollectionView及其代理方法.iOS9之后有自带方法可以实现该效果,只需添加长按手势,实现手势方法和调用iOS9的API交换数据,iOS9之前需要自己写方法实现这效果,除了要添加长按手势,这里还需要利用截图替换原理,手动计算移动位置来处理视图交换和数据交换. 二.方法和步骤 1.创建工程项目和视图控制器,如下图 2.声明对象和设置代理和数据源代理 @interface ViewController ()<UICollect
ios基于UICollectionView实现横向瀑布流 在网上找了许久,一直没有发现有提供横向瀑布流效果的.在项目中用到了我就在垂直瀑布流的基础上,进行了修改,做出了横向瀑布流的效果.同时也对一些UICollectionView的属性进行简单的注释,方便以后查阅. 1.首先要写一个继承与NSObject的布局类,记录每一行(列)目前的宽度(高度).再添加一个新的cell的时候进行判断比较,添加到最短的那一行或一列上. 2.横向的布局类入下,垂直的话就是讲对应的X Y轴数据进行调整即可. WaterfallFlowLayout为布局类,继承与NSObj
iOS中NSPredicate谓词的使用 前言 NSPredicate 谓词, 其实 NSPredicate 有时候完全可以被 [for][if..else] 替换来实现功能, 但会造成代码不够优雅, 一堆的判断循环 有时一句 NSPredicate 便可实现. 今天作者就聊一聊谓词的使用. 一 NSPredicate 理解说明 NSPredicate : 中文直译谓词, 用来定义逻辑条件约束的搜索 或 内存中的过滤. 如同语法中的谓词, 如 [3 大于 2]中"大于"就是一个就是谓词. 简单点说 它是逻辑判断