使用textField和textView时在模拟器上没有办法关闭键盘,这是刚开始比较容易碰到的问题,有几个方法,但核心都是textField,textView放弃第一响应者,即调用resignFirstResponder方法。
方法一:
给textField添加一个Did End On Exit事件,这是在textField输入完毕,点击键盘Done按钮后,会触发的事件。
方法二:
比较笨拙的方法,放一个覆盖整个视图的透明按钮,将其置于视图最底层,添加事件Touch Down或Touch Up Inside(后面讲区别),实现这个方法:
方法三:(从《精通iOS开发》 (第7版)David Mark, Jack Nutting等著] 这本书中学习到 )
将view所指向的对象所属的类由UIView改为UIControl(UIControl是UIView的子类)
修改后就可以看到,view也可以添加事件了:
Touch Up Inside和Touch Down的区别:
Touch Up Inside是按钮最常用的响应事件,意思是点击了按钮,松开手后仍然停留在按钮的范围内才会触发。我们很多人都有这样一种体验,就是点击了按钮,然后突然间又不想这么做了,就把手挪开到别的地方再松开,它就没有触发任何事件,它给予用户再次考虑的机会。
Touch Down是点击了之后,马上触发事件。如果是使用第2、第3种方法,响应这个事件会更加合理。