【发布时间】:2012-10-20 00:08:59
【问题描述】:
我在分组UITableViewCell 中插入了以下字符串:
NSString = @"In 1879, Steve Dancy sells his New York shop and ventures west to explore and write a journal about his adventures. Though he's not looking for trouble, Dancy's infatuation with another man's wife soon embroils him in a deadly feud with Sean Washburn, a Nevada silver baron.\n\nInfuriated by the outrages of two hired thugs, the shopkeeper kills both men in an impulsive street fight. Dancy believes this barbarian act has closed the episode. He is wrong. He has interfered with Washburn's ambitions, and this is something the mining tycoon will not allow.\n\nPinkertons, hired assassins, and aggrieved bystanders escalate the feud until it pulls in all the moneyed interests and power brokers in Nevada. Can the former city slicker settle accounts without losing his life in the process?"
注意它包含\n。当字符串包含新行时,我在heightForRowAtIndexPath: 方法中返回了不正确的高度:
#define FONT_SIZE 14.0f
#define CELL_CONTENT_MARGIN 14.0f
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; {
CGSize constraint = CGSizeMake(CGRectGetWidth(self.view.frame) - (CELL_CONTENT_MARGIN * 2), 20000.0f);
CGSize size = [self.giftProduct.productDescription sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:NSLineBreakByWordWrapping];
CGFloat height = MAX(size.height, 44.0f);
return height + (CELL_CONTENT_MARGIN * 2);
}
其他不包含新行的字符串也可以正常工作。是否有理由在计算高度时不考虑换行并返回给我的高度太短?
谢谢
【问题讨论】:
-
当你用'\n'计算高度时,它只考虑这两个字符。但是当它真正设置为标签的文本时,标签标识要放置为新行的字符。因此,当它呈现时,它会以不同的方式显示高度。
-
@R.A 这是不正确的。应该考虑换行符。
-
@runmad 你应该将你的标签的 numberOfLines 设置为零。(0) 尝试后告诉我它是否对你有帮助。 "label.numberOfLines = 0;"
-
这可能对你有帮助.. stackoverflow.com/questions/2312899/…
-
@R.A 我已将
numberOfLines设置为 0
标签: ios uitableview nsstring heightforrowatindexpath