我正在为iPhone和iPad制作通用应用程序。我知道有一个选项可以定义文本应该向下缩放到选定的磅值,但是当文本在iPad上显示时我需要文本向上缩放。那可能吗?我有一个18磅的标签。这几乎占据了iPhone的整个宽度,考虑了文本的长度。但是在iPad上,由于屏幕尺寸的增加,情况并非如此......
感谢您的时间。
答案 0 :(得分:2)
我在通用应用程序上遇到了同样的问题。
我确实设置了自动调整大小参数,以便直接在Interface Builder中缩放所有组件,但它没有缩放字体大小以占用新给定的屏幕空间。
我最后使用下面的代码更新每个视图的viewDidLoad
,基本上遍历视图的组件并将所有标签的pointSize加倍(也可以用于按钮):
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
for (UIView *component in self.view.subviews) {
if ([component isKindOfClass:[UILabel class]]) {
UILabel *labelToUpdate = (UILabel *) component;
[labeltoUpdate setFont:[labelToUpdate.font fontWithSize:labelToUpdate.font.pointSize*2]];
}
}
该应用程序现在可以很好地从iPhone扩展到iPad。
答案 1 :(得分:1)
您可以循环使用该方法:
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
直到你得到一条占据两行的匹配,然后使用之前的font-size。似乎更快/更容易使用习语来定义iPad的特定大小。