2011-07-30 10 views
1

私はキーボードを持っているビューコントローラを持っています(これを実現するには、私のviewsDidLoadメソッドでconsumFirstResponderを使用します)。このビューコントローラには、pushviewcontrollerを使用して別のビューコントローラをロードするIBActionをトリガするボタンもあります。これはうまく動作しますが、私の問題は、最初のView Controllerのコンテンツの後にキーボードがアニメートするように思えることです。だから本質的には、次のView Controllerが数秒間ロードされてからシーンの外に出るときに、まだそこに残っています。他の誰かがこの問題に遭遇しましたか?UINavigationController pushViewController - アニメーションのキーボード遅れ

答えて

0

は、コントローラにそれを実装 -

// In Header 
UITextField *currentField; 

@property (nonatomic, retain) UITextField *currentField; 

// In Implementation  
- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    self.currentField = textField; 
} 

だから、あなたの新しいビューコントローラあなたをプッシュする準備ができたら、ちょうど -

[self.currentField resignFirstResponder]; 

より単純ですが、すべてのテキストフィールドを辞める

-1

あなたがする必要があるのは、キーボードを辞任し、一定時間後に次のView Controllerにプッシュするメソッドを呼び出すNSTimerを起動することだけです。あなたは、NSTimerがあなたが望む効果を得るために発砲した時に遊ぶことができます。希望が助けてくれる!フィールドがUITextFieldDelegateをフックアップし、その後

myTextField.delegate = self; 

を行うテキストを使用してビューコントローラで

関連する問題