如何制作字体比例

时间:2011-04-24 19:58:32

标签: iphone ipad universal uifont

我正在为iPhone和iPad制作通用应用程序。我知道有一个选项可以定义文本应该向下缩放到选定的磅值,但是当文本在iPad上显示时我需要文本向上缩放。那可能吗?我有一个18磅的标签。这几乎占据了iPhone的整个宽度,考虑了文本的长度。但是在iPad上,由于屏幕尺寸的增加,情况并非如此......

感谢您的时间。

2 个答案:

答案 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的特定大小。