如何仅针对特定屏幕尺寸缩小字体
Posted
技术标签:
【中文标题】如何仅针对特定屏幕尺寸缩小字体【英文标题】:How to shrink font only for a specific screen size 【发布时间】:2016-07-02 14:51:30 【问题描述】:根据下图:
我希望 4 英寸屏幕尺寸的绿色和红色文本缩小,而不是 4.7 英寸尺寸。
我所做的是将 Autoshrink
属性设置为 Minimum Font Scale
- 0.7 并将标签 Lines 属性更改为 0。
现在字体缩小了 4 英寸屏幕,但也适用于 4.7 的,我也不想要。如何防止文本缩小特定屏幕?
有没有办法使用 Size Classes
做到这一点?或者我必须在代码中做一些事情来检查特定的屏幕尺寸?
【问题讨论】:
【参考方案1】:您不能使用Size Classes
来区分 iPhone 4 和 iPhone 4.7。 Size Classes
只能区分这些情况(见下图)。您必须检查代码中的特定屏幕尺寸
【讨论】:
【参考方案2】:我认为您可以使用此代码来识别设备大小:
(#)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";
【讨论】:
以上是关于如何仅针对特定屏幕尺寸缩小字体的主要内容,如果未能解决你的问题,请参考以下文章