我创建了自定义UITableViewCell。
@interface AnswerCell : UITableViewCell
@property (nonatomic, retain) IBOutlet UILabel *textLabel;
@property (nonatomic, retain) IBOutlet UILabel *detailTextLabel;
@end
并设置detailTextLabel.numberOfLines = 0;
cell = [tableView dequeueReusableCellWithIdentifier:kAnswerIdentifier];
if (cell == nil)
{
[[NSBundle mainBundle] loadNibNamed:@"AnswerCell" owner:self options:nil];
cell=answerCell;
}
cell.detailTextLabel.text = [self extractText:indexPath forLabelAttribute:kDetailTextLabel];
cell.detailTextLabel.font = [self extractFont:indexPath forLabelAttribute:kDetailTextLabel];
cell.detailTextLabel.lineBreakMode = UILineBreakModeWordWrap;
cell.detailTextLabel.numberOfLines = 0;
UILabel仅显示文本的第一行。但为什么呢?
更新:我的detailTextLabel的高度= 21.我需要做什么?我需要更改身高= 1000吗?
答案 0 :(得分:4)
我猜您无法显示所有文字,因为标签高度太小。您需要根据文本长度设置所需的高度。
答案 1 :(得分:1)
您需要调整UILabel的大小..使用 -
计算其高度[contentsStr sizeWithFont:[UIFont fontWithName:@"Helvetica" size:17.0f]
然后相应调整大小
您可能需要更改字体及其大小
答案 2 :(得分:1)
如果您有标签的宽度,请使用以下方法获取显示字符串所需的字符串大小,
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size
并将大小设置为标签。
Apple documentation可以在这里看到。