注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

水木的博客

唱好人生中的每一场戏

 
 
 

日志

 
 

iPhone-使用TextField及键盘(useing TextField for inputs、using the keyboard)  

2012-05-08 08:39:24|  分类: Iphone&Ipad开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

创建项目,名字为KeyBoard,我用的是xcode4.2!

在MainStoryboard.storyboard文件里拖四个label和四个TextField,如下界面:

填满内容:

点击完成Done键盘会消失!!

首先我先说说四个TextField的属性分别对应如下:

name:

age:keyboard改成Numbers and Punctuation

password:把Secure属性勾上

email:keyBoard发成E-mail Address

接下来是在KeyboardViewController.h文件定义如下:

  1. - (IBAction)doneEdit:(id)sender;
在KeyboardViewController.m文件实现如下:
  1. - (IBAction)doneEdit:(id)sender {  
  2.     [sender resignFirstResponder];  
  3. }
把四个TextFiled的Did? End? on? Exit做连接出口IBAction,连到doneEdit方法上!这个大家都知道怎么连哈!在此不给出图例了!
[sender resignFirstResponder],是要求文本字段第一响应者的地位辞职,这就意味着不再需要键盘与文本字段的交互了,使其隐藏!

这样,效果就达到了,还有人会想:“我不想按Done键使其隐藏,我想使它按下后面的背景就把键盘隐藏了。”,不要急,接下来就说这种情况!!!!

还在原来的项目中进行,在视图中添加一个按钮,一个很大的按钮,能把正个视图盖住,把Type属性改成Custom,并把按钮拉到所有控件的上面,也就是第一位置如下图,这样做是为了不让按钮挡住所有按钮!



KeyboardViewController.h文件中添加代码如下:

  1. @interface KeyboardViewController : UIViewController{  
  2.     UITextField *email;  
  3.     UITextField *password;  
  4.     UITextField *age;  
  5.     UITextField *name;  
  6. }  
  7. @property (retain, nonatomic) IBOutlet UITextField *email;  
  8. @property (retain, nonatomic) IBOutlet UITextField *password;  
  9. @property (retain, nonatomic) IBOutlet UITextField *age;  
  10. @property (retain, nonatomic) IBOutlet UITextField *name;  
  11. - (IBAction)buttonEdit:(id)sender;  
  12. - (IBAction)doneEdit:(id)sender;  
  13. @end  
并把button按钮Touch Up Inside事件连接到buttonEdit;

在KeyboardViewController.m文件实现:

  1. @synthesize email;  
  2. @synthesize password;  
  3. @synthesize age;  
  4. @synthesize name;  
  5. - (IBAction)buttonEdit:(id)sender {  
  6.     [email resignFirstResponder];  
  7.     [password resignFirstResponder];  
  8.     [age resignFirstResponder];  
  9.     [name resignFirstResponder];  
  10. }  

这样就实现了点击背影就关闭键盘了。

还有人会想:“我想一打开应用就打开键盘并且光标在name框内”。

那么就在viewDidLoad  里写入代码:

  1. - (void)viewDidLoad  
  2. {  
  3.     [name becomeFirstResponder];  
  4.     [super viewDidLoad];  
  5. }  
嗯!




转自:http://www.linuxidc.com/Linux/2012-04/59307.htm
  评论这张
 
阅读(690)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017