1

私はネットワーク ベースのアプリケーションを作成していますが、ちょっとしたジレンマに遭遇しました。私のアプリはサーバーに接続し、アプリケーションはキーボードを使用して、特定のボタンが押されるとモーダル ビューを表示します。これはすべて問題なく、私が望むように機能しています。私の問題は、メンテナンスのためにサーバーが接続を失った場合、または接続を失った場合、アプリはログイン画面に戻りますが、キーボードまたはモーダル ビューは閉じられません。それらを却下するためにこれらを追跡する必要がありますか、それともすべてを却下するために送信できるグローバルコマンドがありますか.

助けてくれてありがとう

4

4 に答える 4

4

ビューコントローラーユーザーで:

[self.view endEditing: YES];

これはresignFirstResponder、メイン ビューのすべてのサブビューに適用されます。どの textField がファーストレスポンダであるかを追跡する必要はありません。

于 2012-05-22T21:11:49.560 に答える
2

キーボードを非表示にする方法は少なくとも 2 つあります。

[myEditField resignFirstResponder];
[myEditField endEditing];
[parentView endEditing];

開いているすべてのモーダル ビューを閉じる「グローバル」な方法はありません。以下を使用して、開いたモーダル ビューを明確に閉じる必要があります。

[self dismissModalViewControllerAnimated:YES];
// This can be called either from within the modal view or its parent:
于 2012-05-22T20:47:16.627 に答える
0

プライベート プロパティを使用して、フォーカスのある現在のモーダル ビューやテキスト フィールドを保持するだけです。次に、接続が失われたときに、そのプロパティの値 (モーダル ビューのインスタンス化で設定したもの) を使用して、現在のプロパティを閉じます。

于 2012-05-22T21:03:47.217 に答える