#pragma mark - 声明属性
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *text;
@property (nonatomic, assign, getter=isSecure) BOOL secure;
@property (nonatomic, assign) id <UITextFieldDelegate> delegate;
#pragma mark - 声明方法
- (instancetype)initWithFrame:(CGRect)frame
title:(NSString *)title
placeholder:(NSString *)placeholder;
@interface LTView ()
#pragma mark - 声明属性
@property (nonatomic, retain) UILabel *label;
@property (nonatomic, retain) UITextField *textField;
@end
@implementation LTView
#pragma mark - 实现方法
- (instancetype)initWithFrame:(CGRect)frame
title:(NSString *)title
placeholder:(NSString *)placeholder
{
// 使用从父类继承过来的初始化方法,给从父类继承过来的属性做初始化
self = [super initWithFrame:frame];
if (self) {
// 添加label
self.label = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, frame.size.width * 0.3, frame.size.height)] autorelease];
_label.text = title;
[self addSubview:_label];
// 添加textField
self.textField = [[[UITextField alloc] initWithFrame:CGRectMake(frame.size.width * 0.3, 0, frame.size.width * 0.7, frame.size.height)] autorelease];
_textField.borderStyle = UITextBorderStyleRoundedRect;
_textField.placeholder = placeholder;
[self addSubview:_textField];
}
return self;
}
#pragma mark - 重写方法
- (void)setTitle:(NSString *)title
{
_label.text = title;
}
- (NSString *)title
{
return _label.text;
}
- (void)setText:(NSString *)text
{
_textField.text = text;
}
- (NSString *)text
{
return _textField.text;
}
- (void)setSecure:(BOOL)secure
{
_textField.secureTextEntry = secure;
}
- (BOOL)isSecure
{
return _textField.secureTextEntry;
}
#pragma mark - set代理,返回代理
- (void)setDelegate:(id<UITextFieldDelegate>)delegate
{
_textField.delegate = delegate;
}
- (id<UITextFieldDelegate>)delegate
{
return _textField.delegate;
}
#pragma mark - 重写
#pragma mark dealloc
- (void)dealloc
{
[_label release];
[_textField release];
[super dealloc];
}