`
天梯梦
  • 浏览: 13630496 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

UITextField 输入结束后的收起小键盘的方式

 
阅读更多

UITextField 提供一个文字框可供使用者输入,在我们使用 Interface Builder 编辑的时候可以看到许多关于 UITextField 的属性,但是却没有一项属性是告诉我们在输入结束按下 Return Key 时小键盘要如何收起来,所以在这里将介绍两种收起小键盘的方法,分别是点击 Return Key 与点击 UITextField 以外的背景。(View-based Template)

 

 首先是点击 Return Key 的部份,先写下一个回传 IBAction 的事件,程式码如下。

- (IBAction)doEditFieldDone:(id)sender {

 //取消目前是第一回应者(键盘消失)
 [sender resignFirstResponder];
 }
 

接下来就是在 Interface Builder 中把此函式与对应的事件 Events 连接起来,通常是 Did End On Exit 事件。

 

 

另一种方式就是点击背景收起小键盘,一样写下一个回传 IBAction 的事件,不过由于是点击背景,所以系统并不知道是要收起哪一个 UITextField 所产生的小键盘,也就是不知道谁才是目前第一回应者,所以在程式码内必须指定该 UITextField 而不能使用 Sender。

 

//点击背景
 - (IBAction)onBackgroungHit:(id)sender {

 //取消目前是第一回应者(键盘消失)
 [textField resignFirstResponder];
 }
 

如果要使用地二种方式收起小键盘,记得要把 UIView 的 Class 设定成 UIControl,只有 UIControl Class 的控制项才可以触发动作。

 

 

 接下来一样是把此函式与对应的事件 Events 连接起来,通常是 Touch Up Inside 事件。

 

 

 

 

 

 

分享到:
评论
2 楼 cl1154781231 2014-02-08  
原来我没有把UIView修改为UIControl啊,谢谢分享,两个都可以用哦!
1 楼 cl1154781231 2014-02-08  
为什么点击背景没有反应,是不是touch up inside呢。
did end on exit可以。

相关推荐

Global site tag (gtag.js) - Google Analytics