6

デフォルトでは、UITextView の contentView は、高さに基づいて textview に収まるテキストが多すぎる場合にスクロール可能になります。

これを無効にして、代わりに UITextView の高さをテキストに収まるように更新したいと思います。私がこれを行っている理由は、UITextView をスクロールを処理する UIScrollView のサブビューとして追加しているためです (テキストを入力すると、textview だけでなくビュー全体がスクロールアップします)。 .

誰かがいくつかのアイデアを持っています/以前に同じ問題に遭遇しましたか?

4

2 に答える 2

20

次のように非常に簡単に行われます。

CGRect frame = textView.frame;

frame.size = textView.contentSize;

textView.frame = frame;

これにより、すべてのコンテンツが適切に収まるようにテキストビューの高さが設定されます。

于 2010-04-06T12:59:00.700 に答える
9

いくつかの小さな変更:

-(void)textViewDidChange:(UITextView *)textView {

    CGFloat fontHeight = (textView.font.ascender - textView.font.descender) + 1;

    CGRect newTextFrame = textView.frame;
    newTextFrame.size = textView.contentSize;
    newTextFrame.size.height = newTextFrame.size.height + fontHeight;
    textView.frame = newTextFrame;
}

フォントの高さを追加すると、スペルが間違っている場合に自動修正ボックス用のスペースができます。

またUITextView、スクロールしないように設定する必要があります。

[aTextView setScrollEnabled:NO];
于 2010-04-06T15:25:34.090 に答える