自定义视图

自定义视图也是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

// 在初始化方法中,进行UILabelUITextField的初始化

- (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文件中进行修改,省时省力.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值