我一直在下面使用此辅助方法来了解屏幕的一般尺寸。假设我在顶部有一个标题,在其下方垂直对齐的是3个标签(每个标签下方有25像素图像)。为了确保3个标签在标题和按钮之间均匀分布。我检查方法是否返回“ isLarge”,是否重新运行为“否”,如果可以,我将标签的约束最小化,以使其更靠近中心标签(因为中心标签在水平方向上居中),因此它们不与顶部标题和底部按钮重叠。一定有更好的方法。
- (BOOL)isLargeDevice {
struct utsname systemInfo;
uname(&systemInfo);
NSString *deviceType = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
NSArray *largeDevices = [NSArray arrayWithObjects: @"iPhone9,2", @"iPhone9,4", @"iPhone10,1",@"iPhone10,4",@"iPhone10,2",@"iPhone10,5",@"iPhone10,3", @"iPhone10,6", nil];
for (NSString *deviceString in largeDevices) {
if ([deviceType isEqualToString:deviceString]) {
return YES;
}
}
return NO;
}