标签:
LTView 是自写的继承于 UIView 的类
这其中创建一个UILabel 和一个 UITextField ;
这样可以少些一半的代码.
代码如下:
LTView.h
#import <UIKit/UIKit.h>
@interface LTView : UIView<UITextFieldDelegate>
// 因为要在类的外部获取输入框的内容,修改Label的标题,所以我们把这两部分作为属性写在.h这样在外部可以直接进行修改和设置
@property(nonatomic, retain)UILabel *myLabel;
@property(nonatomic, retain)UITextField *myTextField;
@end
LTView.m
已改为 MRC !
#import "LTView.h"
@implementation LTView
- (void)dealloc{
[_myLabel release];
[_myTextField release];
[super dealloc];
}
// 重写默认的初始化方法.
- (instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
// 模块化
[self createView];
}
return self;
}
- (void)createView{
// 创建两个子视图,一个label一个textField
self.myLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 25, 70, 30)];
self.myLabel.backgroundColor = [UIColor cyanColor];
self.myLabel.alpha = 0.5;
[self addSubview:self.myLabel];
[_myLabel release];
self.myLabel.textAlignment = NSTextAlignmentCenter;
self.myTextField = [[UITextField alloc] initWithFrame:CGRectMake(150, 20, 200, 40)];
self.myTextField.backgroundColor = [UIColor cyanColor];
[self addSubview:self.myTextField];
[_myTextField release];
self.myTextField.layer.cornerRadius = 10;
//设置代理人
self.myTextField.delegate = self;
}
//回收键盘方法.
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
最后,再创建这样一个对象
// 创建一个LTView对象
LTView *view = [[LTView alloc] initWithFrame:CGRectMake(0, 100, self.window.frame.size.width, self.window.frame.size.height)];
[self.window addSubview:view]
;
[view release];
view.myLabel.text = @"姓名";
view.myTextField.placeholder = @"请填写姓名";
如此,效果就同照片一样了.
这样创建好LTView之后, 再写登陆页面或注册页面时就会方便许多.
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/gao_zi/article/details/47264027