0

こんにちは、キーボードの真上に高さを設定したい UITextView があります。私はメモアプリを作成しています。簡単にスクロールできるように UITextView を表示する必要があります。コードは次のとおりです。

CGRect keyboardBounds = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGRect frame = self.notesTextView.frame;
CGFloat height = self.notesTextView.frame.size.height;
height = frame.size.height;
frame.size.height -= keyboardBounds.size.height;
self.notesTextView.frame = frame;

ただし、画面は次のようになります。 ここに画像の説明を入力

4

2 に答える 2

2

必要な答えは次のとおりです。https://stackoverflow.com/a/1127025/189804

これを正しく行うことは困難ですが、不可欠です。キーボード通知に渡された情報ディクショナリ内のすべての情報を使用することを忘れないでください。値をハードコーディングするのではなく、出現するキーボードの高さを読み取る必要があります。ビューを再配置できるようにアニメーションの長さを取得する必要があります。同じアニメーションの長さで、編集中にイベントに応答する必要もあります。ユーザーが編集を開始した後、Bluetooth キーボードを接続して編集タスクを簡単にすることを決定した場合、またはキーボードを接続してからキーボードのバッテリーを使用して編集を開始した場合を想像してください。やめる...

于 2013-07-08T02:01:26.187 に答える
1

スクロール ビューのサイズを変更する必要があります。テキストビューのフレームに触れないでください (サブクラスを作成しない限り)。

CGRect frame = self.textView.enclosingScrollView.frame;
frame.size.height = 42;
self.textView.enclosingScrollView.frame = newFrame;
于 2013-07-07T22:22:34.597 に答える