在viewdidload的时候,把每个TextField设好tag。之后就可以根据最下面的UITextField的内容来判断键盘的弹出和关闭了

实例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
- (void)textFieldDidBeginEditing:(UITextField *)textField 

{ //当点触textField内部,开始编辑都会调用这个方法。textField将成为first responder

if (textField.tag == 2) {

NSTimeInterval animationDuration = 0.30f;

CGRect frame = self.view.frame;

frame.origin.y -=216;

frame.size.height +=216;

self.view.frame = frame;

[UIView beginAnimations:@"ResizeView"context:nil];

[UIView setAnimationDuration:animationDuration];

self.view.frame = frame;

[UIView commitAnimations];

}
}



- (BOOL)textFieldShouldReturn:(UITextField *)textField

{//当用户按下ruturn,把焦点从textField移开那么键盘就会消失了

// textField

if (textField.tag == 2) {

NSTimeInterval animationDuration = 0.30f;

CGRect frame = self.view.frame;

frame.origin.y +=216;

frame.size. height -=216;

self.view.frame = frame;

//self.view移回原位置

[UIView beginAnimations:@"ResizeView"context:nil];

[UIView setAnimationDuration:animationDuration];

self.view.frame = frame;

[UIView commitAnimations];

}

[textField resignFirstResponder];

returnYES;
}