我所遇到的情況是,產品讓顯示一個Message,最多兩行顯示,多余的用...代替,但是這個Message有可能是一行顯示也有可能是兩行顯示,如果直接按照label兩行填寫,如果內容是一行的時候label就會居中顯示,這是一個蛋疼的問題.怎么來解決呢?
話不多說,上代碼:
NSString *messageString = _detailModel.message; CGSize maximumLabelSizeOne = CGSizeMake(200,115/2-20);//200為我需要的UILabel的長度,后面的參數是label的最大高度,這樣可以控制多出來的用...顯示 NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init]; paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping; NSDictionary *attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:13], NSParagraphStyleAttributeName:paragraphStyle.copy}; CGSize size = [messageString boundingRectWithSize:maximumLabelSizeOne options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size; UILabel *messageLabel = [[UILabel alloc] initWithFrame:CGRectMake(12.5, 10, 200, size.height)]; messageLabel.text = messageString; messageLabel.textAlignment = 0; messageLabel.numberOfLines = 2; messageLabel.font = [UIFont systemFontOfSize:13]; messageLabel.textColor = [TncTool colorWithHexString:@"666666"]; [messageView addSubview:messageLabel];
這樣就可以實現label的高度適配問題...