UITextView
ユーザーが各行を入力したときにプログラムでスクロールするにはどうすればよいですか。
以下に示すように、キーパッドがある時点でそれを非表示にするため、私の textView には必要です。
私はiPhone開発の初心者なので、たくさん検索しましたが、適切な解決策が見つかりませんでした。あなたの貴重な助けが必要です。
UITextView
ユーザーが各行を入力したときにプログラムでスクロールするにはどうすればよいですか。
以下に示すように、キーパッドがある時点でそれを非表示にするため、私の textView には必要です。
私はiPhone開発の初心者なので、たくさん検索しましたが、適切な解決策が見つかりませんでした。あなたの貴重な助けが必要です。
キーボードを開くときは、テキストビューのフレームを調整する必要があります。この場合、キーボードの高さだけフレームの高さを減らします。
これら 2 つのデリゲート メソッドの適切なコードを実装します。
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView
{
CGRect frm = textView.frame;
frm.height -= KEY_BOARD_HEIGHT;
textView.frame = frm;
}
- (BOOL)textViewShouldEndEditing:(UITextView *)textView;
{
CGRect frm = textView.frame;
frm.height += KEY_BOARD_HEIGHT;
textView.frame = frm;
}
スクロール位置の変数を取る::int scrollY;
TextViewのコード::
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"])
{
scrollY += 10;
scrMain.contentOffset = CGPointMake(0, scrollY);
}
return YES;
}
次に、ユーザーがキーボードから離れると、再度 0 に設定し、元の位置にスクロールします。
scrollY = 0;
scrMain.contentOffset = CGPointMake(0, 0);
うまくいけば、それはあなたを助けるかもしれません.
ありがとう。
UITextView
テキストを入力するときにテキストを自動的にスクロールし、UITextView
フレームをキーボードの上に変更するだけで、キーボードのリセットUITextView
フレームを閉じるときにのみ
- (void)textViewDidBeginEditing:(UITextView *)textView
{
//set frame for text view here
}
- (void)textViewDidEndEditing:(UITextView *)textView
{
//set frame for text view here
}