繁体   English   中英

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

[英]how to change uilabel text size in different iPhones

有没有一种方法可以针对不同的屏幕尺寸更改UILabel文本大小?

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

我可以这样做吗?

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

谢谢

    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)
    }

在.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]];
    }

有许多便捷的方法可以从名为Resplendent Utilities的库中确定当前设备的高度。 首先,您必须在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属性。 此属性为您提供当前设备的高度。 然后,您可以使用一些条件语句(如果(appropriateHeightForCurrentScreenHeight == 736.0f){})来确定标签文本的大小,具体取决于设备的高度。

您可以使用尺寸类根据屏幕尺寸配置不同的样式和布局。 在情节wAny hAny的Interface Builder的底部,您会看到wAny hAny 单击该按钮,然后可以选择要配置样式的设备的大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM