ios纯代码实现退出键盘常用方法

来源:互联网 发布:手机破解软件 编辑:程序博客网 时间:2024/06/18 03:25
  之前我曾发表一篇ios上面常用的两种退出键盘的方法,都是基于storyboard而做的,但是对于一些喜欢用纯代码来写程序的人员,可能不太适用。没关系,今天我们就来学习一下如何使用代码来退出键盘。
  1.首先我们创建两个textfield为别为accountFieldpwdField并让他们成为我们的成员属性。代码如下:

#import "ViewController.h"


@interface ViewController ()

@property(nonatomic,weak)UITextField *accountField;

@property (nonatomicweak)UITextField *pwdFiled;

@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    UITextField *accountField=[[UITextField alloc]init];

    self.accountField=accountField;

    accountField.borderStyle=UITextBorderStyleRoundedRect;

    accountField.frame=CGRectMake(1005020030);

    [self.view addSubview:accountField];

    

    

    UITextField *pwdField=[[UITextField alloc]init];

    self.pwdFiled=pwdField;

    pwdField.borderStyle=UITextBorderStyleRoundedRect;

    pwdField.frame=CGRectMake(10010020030);

    [self.view addSubview:pwdField]; 

}

@end

2。接下来,我们实现一个方法即可轻触背景退出键盘。代码如下:

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

{

    if (![self.view isExclusiveTouch]) {

        [self.view endEditing:YES];

    }

}

3。那么如何进行实现点击键盘上的done或者return退出键盘呢,这就需要我们实现一个代理方法了。

首先我们的称为textfield的代理,遵守它的代理协议。

然后我们在代理方法中实现textFieldShouldReturn方法就可以了。

不多说了 直接上代码:

#import "ViewController.h"


@interface ViewController ()<UITextFieldDelegate>

@property(nonatomic,weak)UITextField *accountField;

@property (nonatomicweak)UITextField *pwdFiled;

@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    UITextField *accountField=[[UITextField alloc]init];

    self.accountField=accountField;

    accountField.borderStyle=UITextBorderStyleRoundedRect;

    accountField.frame=CGRectMake(1005020030);

    [self.view addSubview:accountField];

    accountField.delegate=self;

    

    

    UITextField *pwdField=[[UITextField alloc]init];

    self.pwdFiled=pwdField;

    pwdField.borderStyle=UITextBorderStyleRoundedRect;

    pwdField.frame=CGRectMake(10010020030);

    [self.view addSubview:pwdField];

    pwdField.delegate=self;

    

}

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

{

    if (![self.view isExclusiveTouch]) {

        [self.view endEditing:YES];

    }

}

#pragma mark -UITextField的代理方法

-(BOOL) textFieldShouldReturn:(UITextField *)textField

{

    [self.view endEditing:YES];

    return YES;

}

@end

0 0