刚刚在UILabel的文字的自动换行,我要打到的目的是使文字显示在一定的区域内,保持两行,多余放不下的字用点代替。通常设置UILabel自动适应高度并自动换行的代码如下:
CGRect frame = self.nameLabel.frame;
UIFont *font = [UIFont systemFontOfSize:15.f];
CGSize strSize = [activityName sizeWithFont:font constrainedToSize:CGSizeMake(frame.size.width, MAXFLOAT)lineBreakMode:NSLineBreakByTruncatingTail];
self.nameLabel.numberOfLines = 0;
self.nameLabel.frame = CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, strSize.height);
self.nameLabel.text = name;
我想的是既然在xib里已经设定好了UILabel的高度,那在
constrainedToSize:CGSizeMake(frame.size.width, MAXFLOAT)
处,我将MAXFLOAT设置为frame.size.height,应该就理想了,但是实际运行出来的结果是并没有换行!!尝试了几个数值之后,我发现这个高度要稍微比frame.size.height高一些,这样就会自动换行,达到想要的效果了!