0

UITextFieldコントロールがキーの押下に応答しなくなる状態にアプリを移行できます。

私はまだまばたき挿入カレットを持っています。キーボードが登場しました。UITextFieldデリゲートメソッドが適切に呼び出されています。

唯一のことは、キープレスイベントが機能しないことです。次のUIViewControllerメソッドを呼び出した後に発生するようです。

- (void)transitionFromViewController:(UIViewController *)fromViewController
                    toViewController:(UIViewController *)toViewController 
                            duration:(NSTimeInterval)duration 
                             options:(UIViewAnimationOptions)options 
                          animations:(void (^)(void))animations 
                          completion:(void (^)(BOOL finished))completion;

これを引き起こしている可能性のあるアイデアはありますか?それを防ぐまたは修正する方法は?

ありがとう。

4

2 に答える 2

0

移行が完了したら、試してください

[yourTextField becomeFirstResponder]
于 2012-12-02T10:37:46.127 に答える
0

コードはすでに必要な場所で becomeFirstResponder を呼び出していたため、キーボードが起動し、挿入キャレットが点滅していました。

しかし、アプリがキーの押下を受け付けるには、もう 1 つ必要なことがあります。アプリケーション ウィンドウをキー ウィンドウにする必要があります。

原因は、ネットワーク操作中に最前面に表示され、待機インジケータが表示されたウィンドウを使用したことが原因であることがわかりました。

その窓がキーウィンドウになっていました。

待機インジケーター ウィンドウが閉じられたときに、メイン アプリ ウィンドウがキー ウィンドウとして割り当てられていませんでした。

そこで、アプリケーション デリゲートに次の行を追加しました。

[waitIndicatorWindow resignKeyWindow];
[waitIndicatorWindow removeFromSuperview];
waitIndicatorWindow = nil;

[self.window makeKeyWindow]; <- added this line to fix the problem.
于 2012-12-03T02:06:11.493 に答える