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

How to shrink font only for a specific screen size

基于下图:

我希望绿色和红色文本在 4 英寸屏幕尺寸下缩小,但在 4.7 英寸尺寸下不缩小。

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

现在4寸的屏幕字体变小了,4.7的也变小了,我也不想这样。如何防止文本针对特定屏幕缩小?

有没有办法使用 Size Classes 来做到这一点?或者我必须在代码中做一些事情来检查特定的屏幕尺寸?

你不能用Size Classes来区分iPhone 4和iPhone 4.7Size Classes只能区分这几种情况(见下图)。您必须检查代码中的特定屏幕尺寸

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

(#)define 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";

}