自定义视图
自定义视图使用复合设计模式,将两个或者两个以上的UI控件封装在同一个自定义的UIView中
自定义视图的创建步骤:
1. 创建一个UIView的子类
2. 在类的初始化方法中添加子视图
3. 在类的.h文件中提供一些方法,便于外界操作子视图
需要注意的地方:
复合模式中,复合类中使用其他子类作为自己的成员变量
在类的初始化方法中添加子视图注意CGRect的使用 如:self.frame.size.height
MRC模式下,要在复合类中重写dealloc方法,并且释放子视图
// 创建一个Label_TextField自定义视图
// .h文件中可以声明一些接口(方法) 在.m文件中实现
@interface Label_TextFieldView : UIView
@property (nonatomic, retain) UILabel *label;
@property (nonatomic, retain) UITextField *textField;
@end
// .m文件
@implementation Label_TextFieldView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width / 4, self.frame.size.height)];
[self addSubview:self.label];
[self.label release];
self.textField = [[UITextField alloc] initWithFrame:CGRectMake(self.frame.size.width / 4, 0, self.frame.size.width / 4 * 3, self.frame.size.height)];
[self.textField setBorderStyle:UITextBorderStyleRoundedRect];
[self addSubview:self.textField];
[self.textField release];
}
return self;
}
- (void)dealloc
{
[_label release];
[_textField release];
[super dealloc];
}
@end