由于iphone的键盘是基于软件的。所以我们希望用户输入完成后可以关闭键盘。或者在输入数字的时候点击背景可以关闭键盘,输入字幕的时候点击Done或者Join等可以完成关闭键盘的操作。
操作很简单,主要就一个核心代码”resignFirstResponder”
具体是主要实现的。我们现在interface builder里面添加2个文本输入框,如下图所示,其中文本框里面灰色的字是textfield的Placeholder属性。
然后我们点击第一个文本框,在⌘+1中把他的Keyboard设置成Email Address,Return Key设置为Done,第二个文本框的Keyboard设置为Number Pad。
返回Xcode,定义2个输出口和一个动作。
UITextField *nameText;
UITextField *passText;
- (IBAction)textFieldDone:(id)sender;
然后在.m文件中加入
@synthesize nameText,passText;
- (IBAction)textFieldDone:(id)sender
{
[sender resignFirstResponder];
}
返回interface builder,链接输出口。点击第一个输入框,⌘+2,在里面把Did End On Exit旁边的圆圈拖动到File’s Owner上。选择textFieldDone动作就可以了。
当我们点击第二个输入框的时候,显示的是数字键盘,并没有其他的按钮用来关闭键盘,这个时候我们可以考虑用点击空白的区域来关闭键盘。具体操作一样简单。
我们在.h文件里面添加一个动作。
- (IBAction)backgroundPressed:(id)sender;
然后在.m文件里面实现他。
- (IBAction)backgroundPressed:(id)sender
{
[nameText resignFirstResponder];
[passText resignFirstResponder];
}
返回interface builder 点击View,然后⌘+4在属性检查器里面把他的Class修改为UIControl这样背景就可以接受动作了。然后把Touch Down链接到File’s Owner上选择动作backgroundPressed就可以了。
运行看一下效果。点击第二个文本框,输入完数字随便点击空白的地方就可以关闭键盘了。