2013-02-27 82 views
0

按屏幕显示: overlapping text field 你可以看到,一旦数字键盘弹出。它重叠了一些文本字段,我在应用程序中。而且它没有完成或返回按钮,这样我就可以使数字键盘消失。我制作了让键盘消失的按钮,但我想要一些更专业的方法。使数字键盘变小?

请建议。我怎样才能用键盘添加返回或完成按钮,如果有另一种可能的方式,我可以减少键盘的大小。

回答

1

据我知道这是不可能使keybord较小,但你可以做的就是让你的看法动起来,一旦你已经拍了拍为UITextField这个代码将帮你

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:0.25]; 
    self.view.frame = CGRectMake(0,-10,320,400); 
    [UIView commitAnimations]; 
} 

现在到下一个问题,您必须关闭我喜欢的键盘,以便用户可以轻触背景,并且会辞退第一个响应者。你可以是这样做的

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] 
            initWithTarget:self 
            action:@selector(dismissKeyboard)]; 

[self.view addGestureRecognizer:tap]; 

在dismissKeyboard

-(void)dismissKeyboard 
{ 
    [aTextField resignFirstResponder]; 
} 

希望这有助于

+0

亲爱的RPS,非常感谢有关解决方案的详细信息。但我没有得到轻拍手势的一部分。 – Alix 2013-02-28 07:01:36

+0

您可以将轻拍手势部分放到文本字段中,开始编辑部分。当textfiled处于活动状态并按下背景时,它会调用dismissKeybord语句,它将会退出文本文件的第一响应者 – RockPaperScissors 2013-03-03 14:54:47

+0

如果我放在viewDidLoad下,实际上今天早上我试了一下。这是不好的做法,在ViewDidLoad – Alix 2013-03-04 06:54:49