2013-02-27 76 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