9

コントローラーの1つにいくつかのテキストビューがあるアプリケーションがあります。アプリケーションが処理しているとき、これらのテキストビューは無効になり、ユーザーインタラクションは無効になります。

問題は、テキストビューが再度有効になると、無効にされたときに行われたすべてのタッチに応答することです。

彼らがファーストレスポンダーになるため、これはさらに悪化しますが、textViewDidBeginEditing用に作成したコードは実行されません...これは、ナビゲーションバーの右上に完了ボタンを配置する代わりに、送信ボタンを表示することを意味します。

ファーストレスポンダーがアクティブになったときに自動的に辞任しようとしましたが、効果がありません。

非アクティブ化されているときにこれらのクリックが再度有効化されたときに有効になる理由と、それらを停止する方法を知っている人はいますか。私はすでにファーストレスポンダーを辞任しようとし、ユーザーとのやり取りを無効にしたことを覚えておいてください。

ありがとうクレイグ

編集:

この問題は、非アクティブ時のクリックが原因ではなく、UITextViewを有効に設定するとキーボードが表示されるためです。

これはiPhoneOS2.1以降の既知の欠陥です... 2.2のリリースノート

4

3 に答える 3

2

これは iPhone OS 2.1 から知られているバグです。キーボードが表示されたらUITextView.enabled = YES、OS 2.2 リリース ノートのリリース ノートを参照してください。

回避策は を使用せずUITextView.enabled at all、代わり[UITextView setUserInteractionEnabled:]に UITextView を有効または無効にする場合に使用します。

クレイグ

于 2010-01-27T10:47:27.007 に答える
1

UITextViewには というプロパティがありませんenablededitable代わりに使用する必要があります。

于 2012-06-11T09:10:00.957 に答える
0

テキストがアクティブになったときではなく、非アクティブになったときにファーストレスポンダを辞任しようとしましたか?

于 2010-01-25T19:26:41.207 に答える