我想要将多个标签放在另一个下面。使用AutoLayout进行大小设置时,我希望字体大小尽可能大。 adjustsFontSizeToFitWidth
仅适用于宽度,但我得到以下结果UILabel:使用AutoLayout将字体大小调整为高度
2
A
回答
0
您可以通过调用(它可能是更容易一些具有布局建成一个实现代码如下管理重新计算你的内容高度,如果没有的话):
[cell.contentView systemLayoutSizeFittingSize:UILayoutFittingExpandedSize].height;
我也有硬编码此为特定目的(添加为UIFont类):
+ (int)contentSizeHeightForItem {
NSString *cat = [[UIApplication sharedApplication] preferredContentSizeCategory];
if([cat isEqualToString:UIContentSizeCategoryExtraSmall]) {
return 84;
} else if([cat isEqualToString:UIContentSizeCategorySmall]) {
return 86;
} else if([cat isEqualToString:UIContentSizeCategoryMedium]) {
return 88;
} else if([cat isEqualToString:UIContentSizeCategoryLarge]) {
return 92;
} else if([cat isEqualToString:UIContentSizeCategoryExtraLarge]) {
return 94;
} else if([cat isEqualToString:UIContentSizeCategoryExtraExtraLarge]) {
return 98;
} else if([cat isEqualToString:UIContentSizeCategoryExtraExtraExtraLarge]) {
return 102;
}
return 80;
}
0
如果您的字体是恒定的,则可以从字体计算标签的必要高度,像这样:
UIFont *font = [UIFont fontWithName:@"Helvetica" size:18];
UILabel *label = [UILabel new];
[label setFont:font];
[view addSubview:label];
double labelHeight = font.pointSize + fabs(font.descender);
[view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[label(labelHeight)]"
options:0
metrics:@{@"labelHeight" : @(labelHeight)}
views:@{@"label" : label}]];
这将保证字体的完整高度将设置约束时予以考虑。
相关问题
- 1. AutoLayout动态调整大小UILabel的高度和宽度
- 2. UILabel高度取决于字体大小
- 3. 识别UILabel的调整字体大小
- 4. 自动调整UILabel字体大小
- 5. 如何调整字体大小以适合UILabel的高度和宽度
- 6. 无法将UILabel高度调整为其文字高度
- 7. 调整NSMutableAttributedString的字体大小成正比UILabel的框架高度
- 8. Jquery字体大小调整为div高度?
- 9. 使用AutoLayout和ScrollView调整大小类
- 10. 使用AutoLayout调整UIStackView的大小
- 11. 使用Autolayout调整大小的UICollectionViewCell
- 12. 将EditText调整为字体大小
- 13. 使用Autolayout时自动调整UILabel
- 14. 将图片大小调整为最小宽度/高度
- 15. 调整大小UICollectionView高度
- 16. iFrame高度调整大小
- 17. iOS 7 Autolayout在字体大小较大时无法正确调整UILabel的大小
- 18. iPhone代码为auto uiLabel&uiTableViewCell字体改变时调整大小?
- 19. 使用JQuery调整窗口大小调整CSS字体大小
- 20. 根据UILabel内容调整UITableViewCell高度的大小
- 21. UITableViewAutomaticDimension不调整为UILabel文本高度
- 22. 使用AutoLayout将UIView高度调整到其内容
- 23. 将DockPanel的大小调整为DockZone的高度和宽度
- 24. 调整DIV高度可调整大小的iframe高度
- 25. 在textarea中调整字体大小以适合高度
- 26. UILabel - 自动调整大小
- 27. 使用cookie调整字体大小
- 28. 使用glutBitmapString调整字体大小
- 29. 当窗口高度调整大小时调整图像大小
- 30. 如何设置字体大小以填充UILabel高度?
我创建了[AdjustableLabel](http://stackoverflow.com/a/33657604/1121497),它可以将文本大小调整为整个帧,而不仅仅是宽度。 –