我在具有动态高度的tableview单元格中使用多行UILabel。问题有时候,UILabel省略了最后一行,而标签高度是完美的,有时它完美显示每条线。这与此问题类似,但我已经检查过,在我的情况下,行数没有变化。
UILabel does not show all my text and it also doesn't show that there is more (...)
我正在通过
实施UILabel然后我在Label中设置文本。
这是截图。第一个单元格第二个标签显示完整文本,而第三个单元格第二个标签没有,而标签高度是完美的。
无论是13-14行的长文本还是仅仅2行,都是如此。只省略了最后一行,有时也省略了。
我还在表格视图单元格的nib文件中将每个标签的首选宽度设置为220.
我的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
Message *message = [self.messages objectAtIndex:indexPath.row];
if(indexPath.row % 2 != 0 || indexPath.row == 10)
{
chatCell = (ChatTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"chatSend"];
[chatCell.chatMessageLabel setNumberOfLines:0];
[chatCell.chatNameLabel setNumberOfLines:0];
[chatCell.chatTimeLabel setNumberOfLines:0];
chatCell.chatMessageLabel.lineBreakMode = NSLineBreakByWordWrapping;
chatCell.chatNameLabel.lineBreakMode = NSLineBreakByWordWrapping;
chatCell.chatTimeLabel.lineBreakMode = NSLineBreakByWordWrapping;
chatCell.chatMessageLabel.text=message.message;
chatCell.chatNameLabel.text = message.name;
chatCell.chatTimeLabel.text = message.time;
chatCell.chatUserImage.image = message.avatar;
}
else
{
chatCell = (ChatTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"chatReceive"];
[chatCell.chatMessageLabel setNumberOfLines:0];
[chatCell.chatNameLabel setNumberOfLines:0];
[chatCell.chatTimeLabel setNumberOfLines:0];
chatCell.chatMessageLabel.lineBreakMode = NSLineBreakByWordWrapping;
chatCell.chatNameLabel.lineBreakMode = NSLineBreakByWordWrapping;
chatCell.chatTimeLabel.lineBreakMode = NSLineBreakByWordWrapping;
chatCell.chatMessageLabel.text=message.message;
chatCell.chatNameLabel.text = message.name;
chatCell.chatTimeLabel.text = message.time;
chatCell.chatUserImage.image = message.avatar;
chatCell.authorType = STBubbleTableViewCellAuthorTypeOther;
}
return chatCell;
}
请帮助!!