我有UITableView
个自定义单元格,其中包含UILabels
。 iPhone和iPad上标签的文字大小应该不同,因此我为常规尺寸类in interface builder设置了不同的字体。
问题在于,有时iPad上的字体大小不受尊重,UILabel
显示的文字尺寸较小(来自iPhone的字体)。此外,常规尺寸类的字体大小为ignored randomly for some table view cells。
答案 0 :(得分:1)
我认为您可以使用此代码来识别设备大小:
#define iOSVersionGreaterThanOrEqualTo(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
+(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";
}
答案 1 :(得分:1)
根据我的经验,根据大小类指定字体是不可靠的。我经常做的是将字体大小设置为适合最大尺寸等级的尺寸,即iPad,然后将自动收缩中的字体缩小到适合最小尺寸等级的尺度,即iPhone。