Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UITableViewCell不';不显示文本_Iphone_Objective C_Ios_Ios4 - Fatal编程技术网

Iphone UITableViewCell不';不显示文本

Iphone UITableViewCell不';不显示文本,iphone,objective-c,ios,ios4,Iphone,Objective C,Ios,Ios4,我有一个小应用程序,它列出了数据库中的一系列项目。如果您单击其中一个项目,应用程序将切换到一个新视图,该视图将向您显示该特定项目的所有信息。由于显示的信息量是动态的,因此我通过将第二个视图设置为UITableView并根据所显示的特定对象的需要设置每行的大小来实现这一点。这通常可以正常工作,但其中一个项目的最后一个项目有一个文本墙。当我试图查看这个特定对象的信息时,它不会在文本墙应该在的位置显示任何内容 在dubugging时,我可以判断用于确定单元格和标签大小的文本是否正确。它似乎正确地确定了

我有一个小应用程序,它列出了数据库中的一系列项目。如果您单击其中一个项目,应用程序将切换到一个新视图,该视图将向您显示该特定项目的所有信息。由于显示的信息量是动态的,因此我通过将第二个视图设置为UITableView并根据所显示的特定对象的需要设置每行的大小来实现这一点。这通常可以正常工作,但其中一个项目的最后一个项目有一个文本墙。当我试图查看这个特定对象的信息时,它不会在文本墙应该在的位置显示任何内容

在dubugging时,我可以判断用于确定单元格和标签大小的文本是否正确。它似乎正确地确定了大小(单元格的高度为21298,标签的高度为21294),我可以向下滚动到一个相当大的空标签。然而,显示有点混乱,几乎就像屏幕正在刷新一样。视图顶部的文本从起始位置一直到屏幕顶部,并且右侧的滚动条也没有正确地重新绘制

以前有人见过这样的吗

抱歉,由于我没有足够的代表,无法发布我的截图

编辑:想出一个答案。一旦最短时间过去,我将把它作为一个答案发布


我想出了一个解决办法,如果有人碰到这个

在仔细研究之后,我发现当源字符串长度达到41000左右时,它开始导致这个绘图错误。因此,我将超过30000的字符串拆分,并将多行添加到表中。现在,它将显示整个文字墙

代码:

这是一个错误:

[label setTag:[indexPath row]];
在构造单元的视图层次结构时,永远不要引用行号。为什么?因为一个单元格可以重新用于不同的行!这就是
dequeueReusableCellWithIdentifier:
的全部内容

相反,请为标签的标记定义一个常量:

static const int LabelTag = 100;
使用该常量设置标记:

label.tag = LabelTag;
稍后,当您需要获取标签以设置其文本时,请再次使用常量:

label = (UILabel *)[cell.contentView viewWithTag:LabelTag];

我想出了一个解决办法,如果有人碰到这个


在仔细研究之后,我发现当源字符串长度达到41000左右时,它开始导致这个绘图错误。因此,我将超过30000的字符串拆分,并将多行添加到表中。现在,它将显示整个文本墙。

很高兴知道这一点。这修复了我正在研究的另一个bug。谢谢
label = (UILabel *)[cell.contentView viewWithTag:LabelTag];