如何仅针对特定屏幕尺寸缩小字体

时间:2016-07-02 14:51:31

标签: ios autolayout uilabel

基于以下图片:

enter image description here

我希望绿色和红色文字缩小为4英寸屏幕尺寸,但不是4.7英寸尺寸。

我所做的是将Autoshrink属性设置为Minimum Font Scale - 0.7,并将标签Lines属性更改为0.

现在4英寸屏幕的字体缩小了,但是4.7的字体缩小了,我也不想要。如何防止特定屏幕的文本缩小?

有没有办法使用Size Classes执行此操作?或者我必须在代码中执行某些操作来检查特定的屏幕大小?

2 个答案:

答案 0 :(得分:1)

您无法使用Size Classes区分iPhone 4与iPhone 4.7 Size Classes只能区分这些情况(见下图)。您必须检查代码中的特定屏幕大小 enter image description here

答案 1 :(得分:0)

我认为您可以使用此代码来识别设备大小:

(#)定义iOSVersionGreaterThanOrEqualTo(v)([[[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch]!= NSOrderedAscending)

在头文件(.h)

+(NSString *)deviceSize {

CGFloat screenHeight = 0;

if (iOSVersionGreaterThanOrEqualTo(@"8")) {
    screenHeight = MAX([[UIScreen mainScreen] bounds].size.height, [[UIScreen mainScreen] bounds].size.width);
}else
    screenHeight = [[UIScreen mainScreen] bounds].size.height;

if (screenHeight == 480)
    return "Screen 3.5 inch";
else if(screenHeight == 568)
    return "Screen 4 inch";
else if(screenHeight == 667){
    if ([UIScreen mainScreen].scale > 2.9) return Screen5Dot5inch;
    return  "Screen 4.7 inch";
}else if(screenHeight == 736)
    return "Screen 5.5 inch";
else
    return "UnknownSize";

}