0

私はiOSアプリの初心者と見なすことができますが、

ここで少し問題が [myTextView becomeFirstResponder]あります。キーボードを画面に固定したいので、コードに追加しました。たまたまactionSheet同じ画面[myTextView resignFirstResponder]に アクション シートを閉じるときにキーボードを閉じたくないので、これは面倒です。キーボードを画面に残しておきたいからです。

誰かが私にこれを説明してください。解決策を知っていれば、助けていただければ幸いです。

ありがとう!

4

2 に答える 2

0

奇妙なことに、iOS が表示UIKeyBoardの理由などを隠す必要がある場合UIActionSheet、背面が再表示されることがわかりました。UIKeyBoardテストのために 2 つのことを行うことができます。

[myTextView resignFirstResponder]1)そこにブレークポイントを探して配置し、

UITextView2)デリゲートを実装した場合は- (void)textViewDidEndEditing:(UITextView *)textView、そこにもブレーク ポイントを配置します。

3) カーソルを閉じたときにカーソルがブレークポイントに入った場合は、カーソルを非表示にUIActionSheetするフローを修正する必要があります。

それでもわからない場合は、閉じたときに を使用して再表示できUIKeyBoardます。UIActionSheet[myTextView becomeFirstResponder]

于 2013-10-16T06:44:09.200 に答える
0

コントローラーの .m ファイルでプライベート ローカル カテゴリを使用できます。

@interface UIActionSheet (NonFirstResponder)
@end

@implementation UIActionSheet (NonFirstResponder)
- (BOOL)canBecomeFirstResponder
{
    return NO;
}
@end

アクションシートの提示でキーボードを保存します。しかし、アクション シートを閉じようとすると、一連のシステム コールが次のコードで終了します。

[NSNotificationCenter postNotificationName:object:userInfo:]
[UIInputViewTransition postNotificationForTransitionStart]

ここで UIKeyboardWillHideNotification を取得し、システムによってキーボードが閉じられます。

そのため、アクション シート ボタンのクリック時に、textView を最初のレスポンダーとしてのみマークできます。ただし、余分な UI 遷移が発生する場合があります。

于 2014-01-27T16:14:04.277 に答える