IOS学习之旅之4 UITextField对键盘的控制

来源:互联网 发布:麒麟linux系统下载 编辑:程序博客网 时间:2024/05/18 21:06
章节介绍:
  1. 点击键盘done,键盘消失
  2. 点击任何地方,键盘消失

简介:本章内容很简单,但是由于存在一个新手犯的一点小错误,导致多浪费了45分钟。

内容:

首先我们新建两个文本输入框


在代码中添加文本框对应的内容:

.h中

@interface Button_ViewController : UIViewController{

    UITextField *nameField;

    UITextField *numberField;

}

@property (nonatomic,retain)IBOutletUITextField *nameField;

@property (nonatomic,retain)IBOutletUITextField *numberField;

在.m中

@synthesize nameField;

@synthesize numberField;


在storyboard中进行布局绑定(在Referencing Outlet中绑定)


绑定之后,检验是否绑定成功,所以我们在view初始化的时候,设置一个默认值试试,在 viewDidLoad中添加,

- (void)viewDidLoad {

    [superviewDidLoad];

    nameField.text =@"nameFiled";

    // Do any additional setup after loading the view.

}

运行设置成功,下面来进入本章的两个知识点。

1.点击done的时候,键盘消失

第一步:在storyboard的键盘属性:Return key 选成 Done选项。

第二步:添加代码

.h

- (IBAction)any:(id)sender;

.m

- (IBAction)any:(id)sender{

}

第三步:在storyboard中绑定改方法与Did end on Exit

完成:在点击done的时候,键盘就会消失,在一些教程中都介绍的是需要加一行代码:[sender resignFirstResponder];但是我没有加也是好用的,


2.点击任何空白地方,键盘消失

添加代码

.h

- (IBAction)backgroundTap:(id)sender;

.m

-(IBAction)backgroundTap:(id)sender{

    [nameFieldresignFirstResponder];

    [numberFieldresignFirstResponder];

    NSLog(@"backgroundTap");

}

在空白地方点击绑定点击事件,绑定改方法与touchDown事件,就实现了我们需要的点击空白键盘消失的功能。


PS:前面说了,我们浪费了45分钟的时间,原因就是没有在.m中添加:@synthesize,它的作用是如果你编译帮我们声明一下方法,如果不声明后面调用的时候,实际上是早不到的,其实编译器对这种问题应该报个错误出来,否则很容易遗漏掉的。




0 0
原创粉丝点击