1

コンテンツに応じて動的にサイズを変更したいUITextViewがあります。

何らかの理由で、textviewは常にその内容よりも短くなっています!コードは次のとおりです。

_textView.text = [NSString stringWithFormat:@"Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test "];

CGRect frame = _textView.frame;
frame.size.height = _textView.contentSize.height;
_textView.frame = frame;

結果は次のとおりです。

UITextViewが短すぎます

ご覧のとおり、UITextView(白)は短すぎます。そこに多かれ少なかれ内容を入れても、短さは同じです。

その他のテキスト少ないテキスト

簡単なことだと思いますが、うまくいきません。

4

3 に答える 3

0

フレームのサイズを変更する前に、UITextView をメイン ビュー (addSubview) に追加します (この質問を参照してください) 。

于 2012-11-01T20:31:23.883 に答える
0

ここで答えを見つけました: https://stackoverflow.com/a/2487402/255463、次にこれを行います:

まず、ストーリーボードを使用して UITextView を追加し、次にストーリーボードも使用して UIScrollView 内に textView を埋め込み、各ビューをストーリーボードのアウトレットに接続します。ビューコントローラーのサブクラスの中で、これは私が得たものです:

#import "DetailViewController.h"

@interface DetailViewController ()

@property (weak, nonatomic) IBOutlet UITextView *textView;
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;

@end

@implementation DetailViewController

@synthesize textView = _textView;
@synthesize scrollView = _scrollView;

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.textView.text = [NSString stringWithFormat:@"Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test "];
    CGRect frame = self.textView.frame;
    frame.size.height = self.textView.contentSize.height;
    self.textView.frame = frame;

    self.scrollView.contentSize = CGSizeMake(320.0, self.descriptionView.contentSize.height + 147.0);
}

@end
于 2012-11-14T01:27:43.867 に答える