问题是在 iPhone 0S 2.0。2.1 的答案也接受,尽管我不知道这两个系统中 tables 有什么不同。
似乎可以在不创建自定义单元格的情况下将文本换行,因为 UITableViewCell
默认包含 UILabel
。我知道如果我创建一个自定义单元格,我可以让它工作,但这不是我想要实现的——我想知道为什么我当前的方法不能工作。
我已经知道标签是根据需要创建的(因为单元格支持文本和图像访问,所以在必要时它不会创建数据视图) ,所以如果我这样做:
cell.text = @""; // create the label
UILabel* label = (UILabel*)[[cell.contentView subviews] objectAtIndex:0];
然后我得到一个有效的标签,但设置 numberOfLines
(和 lineBreakMode)不工作-我仍然得到单行文本。在 UILabel
中有足够的高度来显示文本-我只是为 heightForRowAtIndexPath
中的高度返回一个大值。