多行UILabel有时省略iOS的最后一行

时间:2015-04-16 07:00:31

标签: ios uitableview uilabel multiline tableviewcell

我在具有动态高度的tableview单元格中使用多行UILabel。问题有时候,UILabel省略了最后一行,而标签高度是完美的,有时它完美显示每条线。这与此问题类似,但我已经检查过,在我的情况下,行数没有变化。

UILabel does not show all my text and it also doesn't show that there is more (...)

我正在通过

实施UILabel
  1. 将行设置为0
  2. 设置自动换行
  3. 然后我在Label中设置文本。

    这是截图。第一个单元格第二个标签显示完整文本,而第三个单元格第二个标签没有,而标签高度是完美的。

    enter image description here

    无论是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;
    }
    

    请帮助!!

0 个答案:

没有答案