可能的UITableViewCell UILabel合成异常

时间:2011-03-10 20:58:27

标签: iphone uikit uitableview gradient

考虑 UITableViewCell ,其样式为 UITableViewCellStyleDefault ,设置为tableView:cellForRowAtIndexPath:,渐变背景设置为tableView:willDisplayCell:forRowAtIndexPath:

渲染时,textLabel会与渐变混合得很好,突出显示效果也一样。

现在,如果我们保持一切相同,但将单元格样式更改为 UITableViewCellStyleSubtitle ,该怎么办?在我的情况下,textLabeldetailTextLabel根本不再融合!它们具有......其他颜色。距离渐变中的颜色不太远,但它根本不会混合。将样式更改回默认值,一切都很好。

现在,我意识到我可以在clearColor中将标签设置为...willDisplayCell...,但我一遍又一遍地被告知,“不要这样做!不要单独留下颜色。”

也许我必须这样做才能解决?或者其他可能有什么不妥之处?线索欢迎/赞赏!

1 个答案:

答案 0 :(得分:0)

解决方法是使用NSString的drawInRect函数。您可以使用NSString sizeWithFont:forWidth:lineBreakMode:方法来计算rect大小,然后以这种方式绘制字符串。

有关字符串大小的更多信息,请点击此处apples docs site