【发布时间】:2011-09-15 06:12:51
【问题描述】:
我正在 Xcode 中使用 Cocoa Touch 开发漫画书。我不知道如何获取设备的详细信息,无论设备是 iphone、ipad 还是 ipod。
我正在尝试通用构建。
如何识别设备?有没有办法根据设备改变屏幕大小?
【问题讨论】:
我正在 Xcode 中使用 Cocoa Touch 开发漫画书。我不知道如何获取设备的详细信息,无论设备是 iphone、ipad 还是 ipod。
我正在尝试通用构建。
如何识别设备?有没有办法根据设备改变屏幕大小?
【问题讨论】:
UIDevice类:
NSString *deviceType = [UIDevice currentDevice].model;
if([deviceType isEqualToString:@"iPhone"])
// it's an iPhone
【讨论】:
如果您需要区分所有三种类型的设备:
【讨论】:
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *name = malloc(size);
sysctlbyname("hw.machine", name, &size, NULL, 0);
现在您可以比较喜欢if (strcmp(name, "iPhone1,1")) 和其他...“iPhone1,2”...
【讨论】:
NSString *deviceType = [UIDevice currentDevice].model;
NSLog(@"%@",deviceType);
or
【讨论】:
不要尝试检查特定的设备型号,而是检查设备的功能。
用于在文档中查找屏幕尺寸 UIUserInterfaceIdiom。
【讨论】:
你可以用这个来回答你的第一个问题-
+ (BOOL)isDeviceAniPad {
#ifdef UI_USER_INTERFACE_IDIOM
return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
#else
return NO;
#endif
}
其次,您无需自行更改,iphone/ipad 将使用适合其屏幕的视图大小。您必须提供不同的图像尺寸或将它们缩放到屏幕尺寸。
【讨论】: