是否有任何方法或黑客可以检测iOS安装的iPhone,iPad或iPod touch的颜色(黑/白)?
我想在黑色或白色设备的情况下加载相应的UI皮肤.
iPhone 5c发布后,我很好奇是否有人知道API如何获得iPhone 5c颜色?我相信每个人都会发现将相应的UI颜色方案加载到设备颜色很方便.
我正在考虑将它包装在类似UIDevice类的东西中,它将返回UIColor.
更新: @ColinE和@Ortwin Gentz已经指出了私有UIDevice实例方法调用的可用性.
请注意,对于iPhone 5c,您真正需要的是deviceEnclosureColor,因为deviceColor将始终返回#3b3b3c,因为它是一种正面颜色.
方法签名:
-(id)_deviceInfoForKey:(struct __CFString { }*)arg1
Run Code Online (Sandbox Code Playgroud)
UIDevice类别:
@interface UIDevice (deviceColour)
- (id)_deviceInfoForKey:(struct __CFString { }*)arg1;
- (NSString*)deviceColourString_UntilAppleMakesItPublic;
- (NSString*)deviceEnclosureColour_UntilAppleMakesItPublic;
@end
@implementation UIDevice (deviceColour)
- (NSString*)deviceColourString_UntilAppleMakesItPublic
{
return [self _deviceInfoForKey:@"DeviceColor"];
}
- (NSString*)deviceEnclosureColour_UntilAppleMakesItPublic
{
return [self _deviceInfoForKey:@"DeviceEnclosureColor"];
}
@end
Run Code Online (Sandbox Code Playgroud) 我想知道是否有办法通过代码判断iPad是黑色还是白色?一个简单的谷歌搜索没有发现任何东西.