UITextField的键盘的回收

原创 2015年11月18日 22:52:05

UITextField的键盘的回收是取消UITextField的响应状态。
1、添加辅助视图
2、实现UITextField的代理方法
添加辅助视图:

// 创建辅助视图
UIView *recoverKeyBoardView = [[UIView alloc]initWithFrame:CGRectMake(0, 0,CGRectGetWidth(self.window.frame) , 15)];
// 为辅助视图添加回收键盘的按钮
UIButton *recoverKeyBoardBtn = [UIButton buttonWithType:UIButtonTypeSystem];
// 为回收键盘按钮设置位置大小
[recoverKeyBoardBtn setFrame:CGRectMake(150, 0, 100, 10)];
// 为回收键盘按钮添加title
[recoverKeyBoardBtn setTitle:@"回收键盘" forState:UIControlStateNormal];
// 为添加辅助视图按钮添加点击事件
[recoverKeyBoardBtn addTarget:self action:@selector(recoverKeyBoard) forControlEvents:UIControlEventTouchUpInside];
// 将添加辅助视图按钮添加到辅助视图上
[recoverKeyBoardView addSubview:recoverKeyBoardBtn];


// 创建文本输入框,并设置位置大小
UITextField *textField = [[UITextField          alloc]initWithFrame:CGRectMake(150, 55, 110, 20)];
// 设置文本框的边框样式
textField.borderStyle = UITextBorderStyleRoundedRect;
// 设置占位字符串
textField.placeholder = @"需要输入的提示文字";
// 为文本框设置tag值
textField.tag = 1001;
// 为textField添加辅助视图
textField.inputAccessoryView = recoverKeyBoardView;

// 回收键盘方法
- (void)recoverKeyBoard{
    // 根据tag值取出对应textField
    UITextField *textField = (UITextField *)[self.window viewWithTag:1002];
    // 将textField响应状态取消
    [textField resignFirstResponder];
}

实现UITextField的代理方法

// 加入UITextFieldDelegate协议
@interface AppDelegate ()<UITextFieldDelegate>

// 创建文本输入框,并设置位置大小
UITextField *textField = [[UITextField          alloc]initWithFrame:CGRectMake(150, 55, 110, 20)];
// 设置文本框的边框样式
textField.borderStyle = UITextBorderStyleRoundedRect;
// 设置占位字符串
textField.placeholder = @"需要输入的提示文字";
// 将UITextFieldDelegate协议委托给本身
textField.delegate = self;

// 点击键盘的return按钮时候调用
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    // 将文本框的响应状态取消
    [textField resignFirstResponder]; 
    return YES;
}

这两种方法都可以实现键盘的收回。
经过这两天学习,我发现了一种点击屏幕空白地方回收键盘的方法:
首先创建一个轻拍手势并添加到本视图上

UITapGestureRecognizer *tapGR = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
[self addGestureRecognizer:tapGR];

创建一个方法取消这个视图上的第一响应者状态

- (void)tapAction:(UITapGestureRecognizer *)sender{
    UIView *view = sender.view;
    [view endEditing:YES];
}

iOS_UITextField_回收键盘的几种方法

UI_回收键盘的方法 回收键盘的fang
  • yuancao_scott
  • yuancao_scott
  • 2014年10月14日 19:13
  • 3137

UITextField的键盘回收用法

初始化一个UITextField //在固定方框中初始化 UITextField *text = [[UITextField alloc] initWithFrame:CGRectMake...
  • zhangkongzhongyun
  • zhangkongzhongyun
  • 2012年08月25日 11:16
  • 8631

UI-UITextField常用属性及键盘收回的几种方式

UITextField 常用属性UITextField 是UIControl的子类,UIControl又是UIView的子类,所以也是一个视图,只不过比UIView多了两个功能,1.文字显示,2.文...
  • BaiHuaXiu123
  • BaiHuaXiu123
  • 2015年11月28日 20:48
  • 791

带左标题的文本框UITextField,并实现return键回收键盘效果--iOS 开发

创建文本框的方法(停留在C的概念的时候,理解为创建文本框的函数的封装就行了,实际上还不算封装,但是勉强理解为封装先也可以) code: -(UITextField *)setupTextFie...
  • u010289343
  • u010289343
  • 2015年10月15日 14:18
  • 671

在多个UITextField中监听键盘的弹出和消失

键盘应用一:在多个UITextField中监听键盘的弹出和消失页面中存在多个UITextField的监听难点在于判断当前点击的textField是哪一个。 声明全局属性:selectedTextFie...
  • leleyuan1130
  • leleyuan1130
  • 2017年03月16日 21:20
  • 439

UITextField点击textField外任意区域键盘回收(一)---- [UIAppllication shareApplication]

最近做的项目用到好多textField, 涉及到键盘回收,键盘挡住textField 上移textField等,自己水平不够,深感textfield好复杂,想好好整理下自己会得用法,继续学习不会的用法...
  • xuejunrong
  • xuejunrong
  • 2015年11月25日 16:36
  • 1090

iOS点击空白处和和return键,回收键盘,隐藏键盘

//定义两个文本框  UITextField *textName;  UITextField *textSummary;      //点击return 按钮 去掉  -(...
  • u013538542
  • u013538542
  • 2015年09月21日 23:34
  • 3213

UITextField常用属性与回收UITextfield的键盘

UITextField 是UIControl的子类,UIControl又是UIView的子类,所以也是一个视图,只不过比UIView多了两个功能,1.文字显示,2.文本编辑    使用过程分...
  • hakusan
  • hakusan
  • 2014年09月04日 12:59
  • 587

UITextField键盘弹出遮挡的解决

整体思路:点击了输入框后,整体视图向上移动被挡住的那个距离。点击空白地方或者Return按钮后又收回到原来的位置,并且通过位移动画来实现这个过程。...
  • COOL_BEAR_XX
  • COOL_BEAR_XX
  • 2016年05月17日 17:23
  • 989

UITextField,UITextView回收键盘

有以下几种方式: 1、滚动时回收键盘 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ for (int i...
  • IOSWEB
  • IOSWEB
  • 2016年02月25日 17:41
  • 402
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UITextField的键盘的回收
举报原因:
原因补充:

(最多只允许输入30个字)