2

我需要根据它的内容高度动态更改 UITextView 框架高度。即,所以当包含高度增加而不是允许用户滚动时,我想更改我的 UITextView 的框架高度,以便用户可以读取所有数据。

所以这是我的代码截图,

-(void)viewDidLoad{

    [super viewDidLoad];
    _txtView.delegate = self;
    previousheight = _txtView.contentSize.height;
    NSLog(@"%.2f",previousheight);
}

在这里我得到日志值-> 22。

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

    NSLog(@"%.2f",textView.contentSize.height);
}

在这里我得到日志值-> 36。

==================================================== ==============================

现在另一种方式,如果我禁用 UITextView 的滚动,那么我会得到完美/预期的结果。唯一的问题是我之后无法启用滚动。

-(void)viewDidLoad{

    [super viewDidLoad];
    _txtView.scrollEnabled = FALSE;
    previousheight = _txtView.contentSize.height;
    NSLog(@"%.2f",previousheight);
}

在这里我得到日志值-> 30。

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

    NSLog(@"%.2f",textView.contentSize.height);
    txtView.scrollEnabled = TRUE;
}

在这里我得到日志值-> 30。

但是现在没有滚动,虽然我启用了滚动视图。

任何帮助,将不胜感激。谢谢

4

1 回答 1

0

I have reported this as a bug on iOS 7.0 to Apple yesterday.

I can calculate the text height correctly using 'boundingRectWithSize:...' but if scrolling is disabled the text gets cut off no matter the height.

A solution that sometimes works is:

textView.scrollEnabled = TRUE;
textView.text = @"Lorem ipsum...";
textView.scrollEnabled = FALSE;
于 2013-10-10T12:18:06.987 回答