Ios UITextView不显示长文本

Ios UITextView不显示长文本,ios,objective-c,uitableview,uitextview,Ios,Objective C,Uitableview,Uitextview,我的iOS应用程序未显示长属性字符串。我在tableview中有一个单元格,其中包含此textView。当文本很长时,tableview会有一段时间没有响应,但当它加载文本时,不会显示。所有其他单元格显示良好。textView可以很好地处理小文本字符串 代码如下: descriptionCell = [tableView dequeueReusableCellWithIdentifier:@"CellAdDetailDescription"]; d

我的iOS应用程序未显示长属性字符串。我在tableview中有一个单元格,其中包含此textView。当文本很长时,tableview会有一段时间没有响应,但当它加载文本时,不会显示。所有其他单元格显示良好。textView可以很好地处理小文本字符串

代码如下:

            descriptionCell = [tableView dequeueReusableCellWithIdentifier:@"CellAdDetailDescription"];
            descriptionCell.bodyTextView.delegate = self;
            NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:self.ad.body];

            UIFont *cellFont;
            cellFont = [UIFont fontWithName:@"HelveticaNeue" size:16.0];

            NSDictionary *attributesDictionary;
            NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
            paragraphStyle.lineSpacing = 10;

            attributesDictionary = @{NSParagraphStyleAttributeName : paragraphStyle , NSFontAttributeName: cellFont};

            [str addAttributes:attributesDictionary range:NSMakeRange(0, str.length)];
            descriptionCell.bodyTextView.attributedText = str;
我粘贴了那根长绳子。我进行了调试,
str
正在加载,包含所需的文本

这里怎么了?
UITextView
中允许的最大字符串长度是多少

编辑:非常奇怪,在文本视图中尝试选择时,文本显示在放大镜中。我上传了一段视频

它是UITextView中的一个bug吗

这是截图。底部的空白白色是TeTeVIEW。
这可能与滚动有关。如果显示的是所有文本(即,文本视图被扩展到所需的高度,表格视图单元格也是如此),则滚动由表格视图完成。如果文本视图较小,则必须滚动以查看所有文本-这可能会导致与表视图(也是滚动视图)冲突


建议您在添加属性文本之前禁用文本视图的滚动,然后再重新启用。如果在表视图中显示整个文本,则可以禁用文本视图滚动。在某些情况下,仅当启用滚动时,它才起作用。您也应该检查这种可能性。

UITextView之所以不显示所有文本,是因为它的框架太小,所以会截断文本以适合其框架。您可以执行以下步骤以显示所有文本:

  • 在Customuitable单元格中,覆盖布局子视图:
使用此函数计算适合其内容的TextView的大小 [textView SizeTatfits:CGSizeMake(textView.frame.size.width,CGFLOAT_MAX)]高度

之后,计算并设置TExtView的新框架(在uitableCell自定义中)

  • 在tableView:HeightForcellatingXPath中,计算与上面类似的textView的新大小(也是单元格的高度),并返回单元格的正确高度
我也有这个问题(=很长的属性文本没有显示在自动调整大小的UITableViewCell中的UITextView中)。我尝试了这里和这个问题的所有公认答案:。没有一个起作用


然而,我后来发现——就我而言——它在设备上运行良好。因此,如果您仍在努力解决此类问题,请不要依赖iOS模拟器。

请粘贴当前渲染方式的快照,以显示空白视图。高度似乎会相应调整,但不会显示文本。上传快照…当我简单地创建一个textView并将其添加到普通视图时,您的代码工作正常-我将添加NSLog(@“textView:%@”,descriptionCell.bodyTextView);在您将单元格出列后。我愿意打赌它要么为零,要么框架不正确,比如它的高度为0或者其他什么@Mike请看编辑并观看视频。@Mike您的示例文本没有我的长。请从这里复制文本:我不希望文本视图是可滚动的。textVIew可自动调整大小,并适合文本。我根据文本调整单元格高度。我禁用了滚动,但没有效果。真奇怪。。设置scroll enabled可以解决这个问题,所以我的思路是正确的。你应该接受这个答案。