UITestFiled收起键盘理解

说起这个,对初学者还真有点费解。不过我们不应该只知道怎么用,而不知道是什么原理。在这里我先谈谈我的理解吧。

在界面上放置了UITextFiled控件以后。我们要收起键盘就必须在头文件中实现UITextFiledDelegate协议。那么这个协议里面提供了几个方法,需要我们实现。其中有一个就是textFiledShouldReturn方法。这个方法就是在输入完成后控制器将要调用的方法。

这里是怎么回事儿呢?

我的理解是:输入面板的return按钮会发送一个notification通知给消息中心,说明输入完毕了。而控制器一开始就有订阅文本框输入完毕的消息。所以会收到这个输入完毕的消息,但是如果不实现UITextFiledDelegate这个协议的话,控制器就不知道收到消息后该怎么办。所以这个协议实现的方法就是文本框的通知消息处理函数。但这些处理函数控制器并不知道要做些什么,所以留给程序员决定。

再有一点就是:必须在textFiledShouldReturn方法中调用输入框对象的 ResignFirstResponder,方法,那么翻译下这个,就应该知道它是放弃第一个相应者的身份。对于我们window开发转过来的人来说,它和windows的lostFocus再相似不过了。就是丢弃焦点。

做到这些,输入面板就能收起来了。

其实这里应该也是应用了,观察者模式吧。主要是用于文本框,和输入面板两个控件对象之间的通信。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值