您的位置:首页 > 其它

自定义视图

2015-02-27 11:58 134 查看
自定义视图也是iPhone界面的一种自定义的控件,所谓的自定义视图就是根据自己的需求将一些最基本的控件组合起来,形成一个可以重复使用的小视图,使用时与基本控件使用方法相同,但是节省了很多资源.同时由于一些控件满足不了需求,可以自定义控件,增加一些原来没有的功能.

下面是一个自定义的登录界面:

一般的登陆界面是一个UILabel加一个UITextField作为一行,来进行界面的显示和数据的输入,而且注册界面也是这样的,所以自定义一个UILabel加一个UITextField的视图非常有必要.

自定义视图

LTView.h

//定义一个UILabel,一个UITextField

@property(nonatomic,
retain, readonly)
UILabel *label;

@property(nonatomic,
retain, readonly)
UITextField *field;
//自定义初始化方法,增加参数
- (id)initWithFrame:(CGRect)frame
text:(NSString *)text
textField:(NSString *)textField;

LTView.m

//
在初始化方法中,进行UILabel和UITextField的初始化

- (id)initWithFrame:(CGRect)frame
text:(NSString *)text
textField:(NSString *)textField
{

self = [super
initWithFrame:frame];

if (self) {

[self
setBackgroundColor:[UIColor
redColor]];

_label = [[UILabel
alloc] initWithFrame:CGRectMake(0,
0, frame.size.width /
3.0, self.frame.size.height)];

[_label
setBackgroundColor:[UIColor
greenColor]];

_label.textAlignment =
NSTextAlignmentCenter;

_label.text = text;
[self
addSubview:_label];
[_label
release];

_field = [[UITextField
alloc]
initWithFrame:CGRectMake(_label.frame.size.width,
0, self.frame.size.width
- _label.frame.size.width,
self.frame.size.height)];

[_field
setBackgroundColor:[UIColor
yellowColor]];

_field.textAlignment =
NSTextAlignmentCenter;

_field.borderStyle =
UITextBorderStyleRoundedRect;

_field.placeholder = textField;
[self
addSubview:_field];
[_field
release];
}

return
self;
}

调用自定义视图:

#pragma mark -

#pragma mark 创建自定义视图
- (void)createLTView
{
// 根据需求输入不同的参数,显示界面

LTView *ltView = [[LTView
alloc] initWithFrame:CGRectMake(0,
50, self.window.frame.size.width,
40) text:@"用户名"
textField:@"请输入用户名"];
ltView.label.textColor = [UIColor
redColor];
[self.window
addSubview:ltView];
[ltView
release];

LTView *bView = [[LTView
alloc] initWithFrame:CGRectMake(0,
100, self.window.frame.size.width,
40) text:@"密码"
textField:@"请输入密码"];
[self.window
addSubview:bView];
[bView
release];
}

效果图:


自定义视图最大的优点就是可以根据需求进行不同基本控件组合来进行需求的实现,不用根据屏幕的改变来进行坐标的调整,所有的修改只需在自定义视图的.m文件中进行修改,省时省力.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: