博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS开发隐藏键盘的4种方法
阅读量:7297 次
发布时间:2019-06-30

本文共 1640 字,大约阅读时间需要 5 分钟。

IOS开发隐藏键盘的4种方法

开发的app中常会用到键盘输入完成后隐藏键盘的情况.在此总结了4种方法来实现我们的目的.

方法一——delegate方式

第一种隐藏键盘的方法,称为delegate三步法: 

1. 遵循(委托/代理); 
2. 调用; 
3. 关联头文件(ViewController.h)中遵循代理 。 代码如下:

#import 
@interface ViewController : UIViewController
@end

 

在实现文件(ViewController.m)中,调用方法:

#pragma --mark textFieldDelegate  //调用delete方法,
-(BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder];//释放第一响应者 return YES; }

 

其中代码#pragma --mark textFieldDelegate,是将它下面方法:textFieldShouldReturn标记到textFieldDelegate的类别下.如下图所示:

这里写图片描述

遵循代理,并且创建方法后,剩下的一步就是建立连接了. 

选中控件后,按住control键拖拽到view Controller上,选择delegate.连接就建立好了.

这里写图片描述

建立连接后,右击进行连接的控件后,可以看到. 

这里写图片描述

command+r运行后,输入按键盘的return键即可实现键盘隐藏.

方法二——事件响应法:

直接选中输入控件,拖拽该控件创建一个action和outlet. 

这里写图片描述 
在实现文件中,实现action.

- (IBAction)didEnd:(id)sender {      [self.didTextfield resignFirstResponder];  }

方法三——点击空白处,隐藏键盘

当点击空白位置时,隐藏键盘的方法. 

选中视图后,将class(原来为UIView)更改为UIControl——(这是因为:UIControl是 UIView 的子类,具有后者的所有外观和行为,同时又能激发事件),然后为View对象创建一个touch up inside的触摸事件,为输入控件创建一个outlet. 
这里写图片描述

这里写图片描述

将action实现行为.

- (IBAction)viewClicked:(id)sender{      //获取文本框对象后,退出第一响应者      [self.textField resignFirstResponder]; }

 

方法四——奇技淫巧(不常用)

巧用UIButton.将按钮控件铺满全屏,去掉上面的文字,设置背景色与视图色一致(这里为突出效果,按钮背景色设置为红色). 

为UIButton对象,创建一个touch up inside的action,为文本框创建一个outlet,然后实现action,

- (IBAction)btnTap:(id)sender {      [self.textField resignFirstResponder];  }

这里写图片描述

如何让键盘消失:点击return让键盘消失:在它所在页面的controller里,连接它的did end on exit 到代码中,再加一句:sender.resignFirstResponder()

点击屏幕让键盘消失:先将view改为uicontrol的证书,然后连接view的Touch down到当前页面,连接相应的textfield到该页面,在viwe的代码中写上相应的textfiled.resignFirstResponder()

转载于:https://www.cnblogs.com/auvxx/p/6739967.html

你可能感兴趣的文章
概述C# Cast()
查看>>
LeetCode - 9. Palindrome Number
查看>>
IOS的 new Date()格式化问题
查看>>
sharepoint webpart 获取文档库下的所有文件夹名
查看>>
java数据结构和算法--------第六章
查看>>
关于php如何连贯操作类方法(以数据库为例)
查看>>
25th SEP, 要好好的走下去
查看>>
BZOJ4822[Cqoi2017]老C的任务——树状数组(二维数点)
查看>>
BZOJ1299[LLH邀请赛]巧克力棒——Nim游戏+搜索
查看>>
未能为 SSL/TLS 安全通道建立信任的解决办法
查看>>
cmake是什么
查看>>
使用MASM10(变量的使用)- Win32汇编语言018
查看>>
【Docker学习笔记】----基于centos 7 的Docker安装
查看>>
Android笔记之OnLongClickListener
查看>>
Java客户端:调用EyeKey HTTP接口进行人脸对比
查看>>
SQL之分区函数
查看>>
创业公司如何实施敏捷开发
查看>>
Django使用AJAX调用自己写的API接口
查看>>
数据科学求职准备
查看>>
Wireshark抓包工具使用教程以及常用抓包规则
查看>>