簡體   English   中英

兩個UITextFields-先將鍵盤滑出,然后再滑入

[英]two UITextFields - slide first Keyboard out and next in

所以在我的viewdidload中我得到了類似的東西

[nameTextField becomeFirstResponder]

現在單擊按鈕后,我想滑出此文本字段的鍵盤,並滑入另一個文本字段的另一個鍵盤。

我想過

[nameTextField resignFirstResponder];
[dateTextField becomeFirstResponder];

但另一個鍵盤會立即顯示。

評論[dateTextField becomeFirstResponder]; 出來,效果就是我的nameTextField鍵盤滑出了我想要的效果。

任何想法如何做到這一點?

謝謝!

您為什么要這樣做? 顯然,這將增加用戶輸入信息所花費的時間,我知道這會讓我很煩。

但是,如果您確實想要這種效果,那么我會看這樣的事情:

[dateTextField performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:timeDelay];

其中timeDelay是關閉第一個鍵盤所花費的時間。

您可以注冊以觀察以下通知: UIKeyboardWillShowNotificationUIKeyboardWillHideNotification 這可以讓您跟蹤發生的情況,但是它很容易變得很復雜,因此Tom Irving的建議可能更容易處理。

要獲取有關隱藏和顯示鍵盤的通知,請查看

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:)
    name:UIKeyboardDidHideNotification object:[self view].window];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) 
    name:UIKeyboardDidShowNotification object:[self view].window];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) 
    name:UIKeyboardWillHideNotification object:[self view].window];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) 
    name:UIKeyboardWillShowNotification object:[self view].window];

並添加適當的方法,例如

-(void)keyboardWillShow:(NSNotification*)notif
-(void)keyboardWillHide:(NSNotification*)notif
-(void)keyboardDidShow:(NSNotification*)notif
-(void)keyboardDidHide:(NSNotification*)notif

然后,您可以按自己喜歡的任何方式連接動畫。

確保對它們全部使用NSLog(),在您期望它們時,它們不會總是被調用(臭名昭著的一個是,當您從一個字段轉到另一個字段時,您將收到純皮書並立即顯示)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM