Iphone UITableViewCell不';不显示文本
我有一个小应用程序,它列出了数据库中的一系列项目。如果您单击其中一个项目,应用程序将切换到一个新视图,该视图将向您显示该特定项目的所有信息。由于显示的信息量是动态的,因此我通过将第二个视图设置为UITableView并根据所显示的特定对象的需要设置每行的大小来实现这一点。这通常可以正常工作,但其中一个项目的最后一个项目有一个文本墙。当我试图查看这个特定对象的信息时,它不会在文本墙应该在的位置显示任何内容 在dubugging时,我可以判断用于确定单元格和标签大小的文本是否正确。它似乎正确地确定了大小(单元格的高度为21298,标签的高度为21294),我可以向下滚动到一个相当大的空标签。然而,显示有点混乱,几乎就像屏幕正在刷新一样。视图顶部的文本从起始位置一直到屏幕顶部,并且右侧的滚动条也没有正确地重新绘制 以前有人见过这样的吗 抱歉,由于我没有足够的代表,无法发布我的截图 编辑:想出一个答案。一旦最短时间过去,我将把它作为一个答案发布Iphone UITableViewCell不';不显示文本,iphone,objective-c,ios,ios4,Iphone,Objective C,Ios,Ios4,我有一个小应用程序,它列出了数据库中的一系列项目。如果您单击其中一个项目,应用程序将切换到一个新视图,该视图将向您显示该特定项目的所有信息。由于显示的信息量是动态的,因此我通过将第二个视图设置为UITableView并根据所显示的特定对象的需要设置每行的大小来实现这一点。这通常可以正常工作,但其中一个项目的最后一个项目有一个文本墙。当我试图查看这个特定对象的信息时,它不会在文本墙应该在的位置显示任何内容 在dubugging时,我可以判断用于确定单元格和标签大小的文本是否正确。它似乎正确地确定了
我想出了一个解决办法,如果有人碰到这个 在仔细研究之后,我发现当源字符串长度达到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];