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

  之前我曾发表一篇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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值