对于手写代码来说,创建相同的view是很烦的,copy是无聊的工作。
以前创建view对象是这样写:
UILabel *label1 = [[UILabel alloc] init];
label1.text = @"label1";
label1.textColor = [UIColor redColor];
[self.view addSubview:label1];
UILabel *label2 = [[UILabel alloc] init];
label2.text = @"label2";
label2.textColor = [UIColor redColor];
[self.view addSubview:label2];
UITextField *tf = [[UITextField alloc] init];
tf.text = @"tf";
tf.delegate = self;
[self.view addSubview:tf];
现在可以这样写:
UILabel *label3 = [self.view addLabel:@"label3"];
UILabel *label4 = [self.view addLabel:@"label4" color:[UIColor redColor]];
UITextField *tf = [self.view addTextField:@"text" delegate:self];
写过代码的人都知道,第二种写法可以更快,代码复用性更高。
其实就是快捷了一点,反正我是喜欢这样。
可以很简单的看下代码。
@interface UIView (Add)
/**
当前View添加label
@return 返回Label
*/
-(UILabel *)addLabel;
/**
当前View添加Label,设置文字
@param text 显示文字
@return 返回Label
*/
-(UILabel *)addLabel:(nullable NSString *)text;
/**
当前View添加Label,设置文字、字体
@param text 显示文字
@param font 字体
@return 返回Label
*/
-(UILabel *)addLabel:(nullable NSString *)text font:(nullable UIFont *)font;
/**
当前View添加Label,设置文字、颜色
@param text 文字
@param color 颜色
@return 返回Label
*/
-(UILabel *)addLabel:(nullable NSString *)text color:(nullable UIColor *)color;
/**
当前View添加Label,设置文字、字体、颜色
@param text 文字
@param font 字体
@param color 颜色
@return 返回Label
*/
-(UILabel *)addLabel:(nullable NSString *)text font:(nullable UIFont *)font color:(nullable UIColor *)color;
#pragma mark - UITextField Add
/**
当前UIView添加UITextField
@return 返回UITextField对象
*/
-(UITextField *)addTextField;
@end
很简单,就是给UIView添加了一个Category。
想用的可以使用在Podfile文件添加如下代码
pod 'UIView+Add'
有不足的地方可以留言,一起探讨。
希望对你们有帮助!
网友评论