您的位置:首页 > 产品设计 > UI/UE

自定义视图与工厂模式

2016-01-15 21:36 387 查看
自定义视图:

实现自定义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:@”用户名” ];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  工厂模式 控件 uiview