0

UITextViewのデリゲートとして機能するUIViewControllerサブクラスがあります。textViewDidBeginEditingを実装して、「完了」ボタンを表示し、テキストビューを閉じます...すべてが順調です...ただし、テキストビューにテキストがあり、編集モードでない場合、ユーザーがテキストビューで指を保持していると、虫眼鏡でズームするテキストの場合、キーボードは表示されますが、textViewDidBeginEditingは起動しません。

UIScrollViewデリゲートメソッドviewForZoomingInScrollViewとscrollViewDidEndZoomingを実装することでこれを回避しようとしましたが、それらをまったく起動できません。

minimumZoomScaleプロパティとmaximumZoomScaleプロパティを試して、ズームを無効にしてみました...無駄になりました。

この時点で、次に何を試すべきか、またはUIScrollViewデリゲートメソッドのキャッチに失敗したことが私の主な問題に関連しているかどうかはわかりません。投稿できるコードが価値があるかどうかわかりません...textViewDidBeginEditingメソッドは非常に最小限であり、通常の状況では正常に機能します。UITextViewデリゲートの割り当ては、Interface Builderのコントローラー(ファイル所有者)への接続を使用して行われます。

4

1 に答える 1

1

回避策は、キーボード通知に登録することです。一度行うと、キーボードがいつ表示されるかが正確にわかります。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardNotificationShow:) name:UIKeyboardWillShowNotification object:nil];  

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardNotificationHide:) name:UIKeyboardWillHideNotification object:nil];  
于 2009-06-18T00:07:24.347 に答える