自定义视图与工厂模式

来源:互联网 发布:unity3d 联机unet 编辑:程序博客网 时间:2024/06/04 01:22

自定义视图:
实现自定义View的步骤:
1 创建一个UIView的子类
2 在初始化方法中添加子视图
3 提供一些接口,给外界操作子视图
其意义就是将包含内容一样的几个控件放在一个View上面,通过外部调用View来声明属性,这样所声明的属性就包含在View中创建的几个控件。
工厂模式:
为UIView提供一个类目,在这个类目中添加方法,当引用这个类目的时候可以调用其中所生命的方法。
它与自定义视图的不同就是,自定义视图声明的属性如果被调用的时候会全部使用,而工厂模式中可以创建不同的方法来针对不同的内容,这样就可以在使用用的时候调用正确的方法,比自定义视图的灵活性更强。
例:
//设置文字内容
-(UILabel )AddLabelWithFrame:(CGRect)frame LabelText:(NSString )text;
//设置文字内容加字体
-(UILabel )AddLabelWithFrame:(CGRect)frame LabelText:(NSString )text LabelFont:(UIFont *)font;
//设置文字加颜色
-(UILabel )AddLabelWithFrame:(CGRect)frame LabelText:(NSString )text LabelColor:(UIColor *)color;
-(UILabel )AddLabelWithFrame:(CGRect)frame LabelText:(NSString )text{
UILabel *label = [[UILabel alloc]initWithFrame:frame];
label.text = text;
[self addSubview: label];
return label;
}

//设置文字内容加字体
-(UILabel )AddLabelWithFrame:(CGRect)frame LabelText:(NSString )text LabelFont:(UIFont *)font{
UILabel * la = [self AddLabelWithFrame:frame LabelText:text];
la.font = font;
[self addSubview: la];
return la;
}

//设置文字加颜色
-(UILabel*)AddLabelWithFrame:(CGRect)frame LabelText:(NSString )text LabelColor:(UIColor )color{
UILabel * la = [self AddLabelWithFrame:frame LabelText:text];
la.textColor = color;
[self addSubview: la];
return la;
}
// 创建用户名及输入框
self.nameLabel = [self AddLabelWithFrame:CGRectMake(30, 30, 150, 50) LabelText:@”用户名” ];

0 0
原创粉丝点击