对自定义类的总结(一般是自定义view)

自定义UIView实践
本文介绍自定义UIView的基本步骤,包括属性定义、构造方法重写、多属性设置方法及使用代理或block传递值的方式。

对于自定义view,有时候一时想不起要怎么写,暴露给外部接口有哪些,要重写什么函数。

这里总结一下,给自己一个简单的模板(不针对特殊类),从哪几个方面入手

.h

1.属性的定义,用@property自动实现属性的添加和set get方法的实现


//总列数

@property(nonatomic,assign)NSInteger columnCount;


//列间距

@property(nonatomic,assign)NSInteger columnSpacing;


//行间距

@property(nonatomic,assign)NSInteger rowSpacing;




2.构造方法的重写(一般包含两个构造方法,一个加方法,一个减方法)

减方法:带参数init函数

加方法:带参数类方法,m中实现时调研带参init

//构造方法

+ (instancetype)fallWithColumnCount:(NSInteger)columnCount;


- (instancetype)initWithColumnCount:(NSInteger)columnCount;




3.多属性set方法,减方法,一次性设置多个属性


//同时设置各种属性的方法

- (void)setColumnSpacing:(NSInteger)columnSpacing rowSpacing:(NSInteger)rowSpacing sectionInset:(UIEdgeInsets)sectionInset;



4.如需要,代理或者block实现反向传值

@protocol itemHeightDelegate <NSObject>


- (CGFloat)getItemHeightWithItemWidth:(CGFloat)width indexPath:(NSIndexPath *)indexPath;


@end


//定义一个block来获取每个图片的高度

@property(nonatomic,copy)CGFloat (^itemHeightBlock)(CGFloat itemWidth,NSIndexPath *indexPath);


@property(nonatomic,weak)id<itemHeightDelegate> delegate;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值