每当文本上出现 & 时,获取高度似乎一直都是关闭的。两个函数都返回小于实际高度:
CGSize labelSize = [nameLabel.text sizeWithFont:nameLabel.font constrainedToSize: CGSizeMake( actualWidth, MAXFLOAT ) lineBreakMode:UILineBreakModeWordWrap];
CGRect textSize = CGRectMake(0.0, 0.0, 320.0, FLT_MAX);
nameLabel.frame = [nameLabel textRectForBounds:textSize limitedToNumberOfLines:0];
尽管使用 textRectForBounds 的第二种方法返回更接近的实际高度,但它们都不会返回正确的高度。前者会返回 240,但后者会返回 700。实际是 750。
这弄乱了我的 UITableView 显示相互重叠的文本。
有趣的是,只要文本不包含任何 & 字符,就会返回相同的高度。
关于我的生活,有人可以启发我吗?我不明白这里发生了什么,并且知道如何正确解决这个问题。
提前非常感谢。