(1). 创建一个UIView的子类 LTView;
以下步骤下在LTView.h里
@interface LTView :UIView<UITextFieldDelegate>(10).签订回收键盘的协议
定义两个属性
@property(nonatomic,retain)UILabel *myLabel;
@property(nonatomic,retain)UITextField *myTextField;
注意:因为要在类的外部获取输入框的内容,修改Label的标题,所以我们可以把这两部分作为属性写在.h里,这样在外部可以直接进行修改和设置
以下步骤下在LTView.m里
(3).重写默认的初始化方法(init)
-(instancetype)initWithFrame:(CGRect)frame
{
self = [superinitWithFrame:frame];
if (self) {
把代码写成模块化(模块化最好的方法 是 写方法)
(5).利用 self调用已写好的方法即createView
[selfcreateView];
(6)在最下面********
(7)在AppDelegate.m里
}
returnself;
}
(4).写一个没有参数和返回值的方法
-(void)createView
{
创建两个子视图,一个Label,一个是textfield
self.myLabel = [[UILabelalloc]initWithFrame:CGRectMake(20,20, 100,30)];
self.myLabel.backgroundColor = [UIColoryellowColor];
在LTView里 LTView相当于self即父视图
[selfaddSubview:self.myLabel];
[self.myLabelrelease];
self.myTextField = [[UITextFieldalloc]initWithFrame:CGRectMake(150,20, 100,40)];
self.myTextField.backgroundColor = [UIColorcyanColor];
[selfaddSubview:self.myTextField];
(11).设置代理人
self.myTextField.delegate =self;
[self.myTextFieldrelease];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textFieldresignFirstResponder];
return YES;
}
(6).释放
- (void)dealloc
{
[_myTextFieldrelease];
[_myLabelrelease];
[superdealloc];
}