如何在不同的iPhone中更改uilabel文本大小

时间:2015-03-24 15:15:08

标签: ios swift uilabel

有没有办法为不同的屏幕尺寸更改UILabel文字大小?

我需要在I-phone 6和6 +中更大的文字。

我可以这样做吗?

执行此操作的正确方法是检查屏幕高度,然后更改文本大小吗?

由于

4 个答案:

答案 0 :(得分:1)

    if (self.view.frame.size.width == 320){
        //iPhone 2G, 3G, 3GS, 4, 4s, 5, 5s, 5c
        label.font = UIFont(name: "....", size: 20)
    }
    else if (self.view.frame.size.width == 375){
        //iPhone 6
        label.font = UIFont(name: "....", size: 25)
    }
    else if (self.view.frame.size.width == 414){
        //iPhone 6 Plus
        label.font = UIFont(name: "....", size: 30)
    }

答案 1 :(得分:1)

在.pch文件中声明以下内容

#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_RETINA ([[UIScreen mainScreen] scale] >= 2.0)
#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)
#define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT))
#define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT))
#define IS_IPHONE_4_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0)
#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)
#define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)
#define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)

使用以下需要实施的地方

if (IS_IPHONE_6){
        [myLabel setFont:[UIFont fontWithName:@"FontName" size:18]];
    }
    else if (IS_IPHONE_6P){
        [myLabel setFont:[UIFont fontWithName:@"FontName" size:20]];
    }

答案 2 :(得分:0)

有一种方便的方法可以从名为Resplendent Utilities的库中确定当前设备的高度。您首先必须在此处为此库安装cocoa pod http://cocoapods.org/pods/ResplendentUtilities。如果你不能安装可可豆荚,你只需从github链接到这个库https://github.com/Resplendent/ResplendentUtilities即可获得所需的代码。

在项目中拥有此库后,请导入此文件https://github.com/Resplendent/ResplendentUtilities/blob/master/Pod/Classes/ResplendentUtilities/Code/ResplendentUtilities/Misc/Compatability/RUScreenSizeToFloatConverter.m

导入此文件后,初始化此文件的类对象(RUScreenSizeToFloatConverter)。然后,您可以在CGFloat中存储此类的相应的HeightForCurrentScreenHeight属性。此属性为您提供当前设备的高度。然后,您可以使用一些条件语句(if(properHeightForCurrentScreenHeight == 736.0f){})根据设备的高度确定标签文本的大小。

答案 3 :(得分:0)

您可以使用尺寸类来配置不同的样式和布局,具体取决于屏幕尺寸。在故事板中Interface Builder的底部,您将看到wAny hAny。单击该按钮,您可以选择要将样式配置为的设备的大小。