需求
问题
UILable的宽度是屏幕的三分之一,高度设为两行,超出的部分截断。由于UILable的高度可能是一行,也可能是两行,为了美观,一行的时候,文字要剧中。
起初的实现是:
titleLabel.textAlignment = NSTextAlignmentCenter;
titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
CGFloat titleHeight = [Statics formatFontSize:titleLabel content:title fontSize:12*SIZE_SCALE constrSize:CGSizeMake(SCREENWIDTH, 2000)].height;
titleLabel.frame = CGRectMake(0, subTitleLabel.frame.origin.y-2*titleHeight-5*SIZE_SCALE, (ScreenWidth - 1*SIZE_SCALE)/3, 2*titleHeight);
然而出现的问题是:当文字的实际长度超过SCREENWIDTH的时候计算出的高度不是理想高度,随将SCREENWIDTH改为INT32_MAX,问题是解决了,但感觉这不是最好的方法。