没有合适的资源?快使用搜索试试~ 我知道了~
在网上找了许久,一直没有发现有提供横向瀑布流效果的。在项目中用到了我就在垂直瀑布流的基础上,进行了修改,做出了横向瀑布流的效果。同时也对一些UICollectionView的属性进行简单的注释,方便以后查阅。 1、首先要写一个继承与NSObject的布局类,记录每一行(列)目前的宽度(高度)。再添加一个新的cell的时候进行判断比较,添加到最短的那一行或一列上。 2、横向的布局类入下,垂直的话就是讲对应的X Y轴数据进行调整即可。 WaterfallFlowLayout为布局类,继承与NSObject。.h文件入下 #import <UIKit> // 类的前置声明 @cla
资源推荐
资源详情
资源评论
ios基于基于UICollectionView实现横向瀑布流实现横向瀑布流
在网上找了许久,一直没有发现有提供横向瀑布流效果的。在项目中用到了我就在垂直瀑布流的基础上,进行了修改,做出了
横向瀑布流的效果。同时也对一些UICollectionView的属性进行简单的注释,方便以后查阅。
1、首先要写一个继承与NSObject的布局类,记录每一行(列)目前的宽度(高度)。再添加一个新的cell的时候进行判断比
较,添加到最短的那一行或一列上。
2、横向的布局类入下,垂直的话就是讲对应的X Y轴数据进行调整即可。
WaterfallFlowLayout为布局类,继承与NSObject。.h文件入下
#import <UIKit/UIKit.h>
// 类的前置声明
@class WaterfallFlowLayout;
@protocol WaterfallFlowLayoutDelegate <NSObject>
// 动态获取 item 宽度
- (CGFloat) WaterfallFlowLayout:(WaterfallFlowLayout *) layout widthForItemAtIndexPath:(NSIndexPath *) indexPath;
@end
@interface WaterfallFlowLayout : UICollectionViewLayout
@property (nonatomic,assign) id <WaterfallFlowLayoutDelegate> delegate;
@property (nonatomic) NSInteger numberOfColumns;
@property (nonatomic) CGFloat minimumLineSpacing;
@property (nonatomic) CGFloat minimumInteritemSpacing;
@property (nonatomic) UIEdgeInsets sectionInset;
@end
WaterfallFlowLayout为布局类,继承与NSObject。.m文件入下
#import "WaterfallFlowLayout.h"
@interface WaterfallFlowLayout ()
{
// 用于记录每一列布局到的宽度
NSMutableArray * _widthOfColumns;
// 用于保存所有item的属性 (frame)
NSMutableArray * _itemsAttributes;
}
@end
@implementation WaterfallFlowLayout
- (void) setNumberOfColumns:(NSInteger)numberOfColumns {
if (_numberOfColumns != numberOfColumns) {
_numberOfColumns = numberOfColumns;
// 让原有布局失效,需要重新布局
[self invalidateLayout];
}
}
- (void)setMinimumLineSpacing:(CGFloat)minimumLineSpacing {
if (_minimumLineSpacing != minimumLineSpacing) {
_minimumLineSpacing = minimumLineSpacing;
[self invalidateLayout];
}
}
- (void)setMinimumInteritemSpacing:(CGFloat)minimumInteritemSpacing {
if (_minimumInteritemSpacing != minimumInteritemSpacing) {
_minimumInteritemSpacing = minimumInteritemSpacing;
[self invalidateLayout];
}
}
- (void)setSectionInset:(UIEdgeInsets)sectionInset {
if (!UIEdgeInsetsEqualToEdgeInsets(_sectionInset, sectionInset)) {
资源评论
weixin_38588394
- 粉丝: 8
- 资源: 954
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 1_ROT编码 (2).zip
- IMG_7230.jpg
- python+翻译器+语音
- 一个简单的库存管理系统,使用PHP、JavaScript、Bootstrap和CSS开发
- Python(Tkinter+matplotlib)实现光斑处理系统源代码
- HC32F4A0-v2.2.0-LittleVgl-8.3-1111.zip, 基于HC32F4A0的LVGL8.3工程
- 220913201郭博宇数据结构3.docx
- 小米R3G路由器breed专属
- MATLAB实现QRLSTM长短期记忆神经网络分位数回归时间序列区间预测(含完整的程序和代码详解)
- AN-HC32F4A0系列的外部存储器控制器EXMC -Rev1.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功