我知道有很多关于UILabel
及其大小的帖子,但我无法找到问题的答案。
我有一些UILabels
在1行上有文字,不再需要更多行,并且文本设置为要调整的最小字体比例。在纵向模式下,屏幕有足够的高度空间,不会将我的UILabel高度缩放到临界点。
在横向模式下,我身高不足,UILabel
身高非常小,文字在顶部和底部被切割。
我已经测试了我读过的所有内容:
将换行符设置为剪辑模式
使用adjustsFontSizeToFitWidth = YES;
在每种情况下,文字仅适合宽度,但不关心高度。
我应该使用一些丑陋的黑客来根据标签高度来计算字体大小,还是我会错过一些东西?
答案 0 :(得分:0)
CGRect labelFrame = CGRectMake(22, 50, 280, 150);
UILabel *myLabel = [[UILabel alloc] initWithFrame:labelFrame];
[myLabel setText:finalRecipe];
[myLabel setBackgroundColor: [UIColor lightGrayColor]];
[myLabel setNumberOfLines:0];
CGFloat fontSize = 0.0f;
labelFrame.size = [myLabel.text sizeWithFont:myLabel.font
minFontSize:myLabel.minimumFontSize
actualFontSize:&fontSize
forWidth:labelFrame.width
lineBreakMode:myLabel.lineBreakMode];
myLabel.frame = labelFrame;
[self.view addSubview:myLabel];