我是通用应用程序的菜鸟所以请帮助我,让我知道如果可以做到这一点,我正在创建一个通用的应用程序,为此我已经编写了代码,并在我的每个视图控制器中进行设置在iPhone和iPad组和运行时,我正在识别设备,无论是iphone还是ipad,我使用的是以下方法
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { myiPad_View *ipadObj = [[myiPad_View alloc]init]; [self.window addSubview:ipadObj.view]; } else { myiPhoneView *obj = [[myiPhoneView alloc]init]; [self.window addSubview:obj.view]; }
现在查询是我的老板正在吃我的脑袋他告诉我,我们可以只编写一个类,并且在运行时,当应用程序将在iphone或ipad设备或模拟器中启动时,视图控制器将调整相应的框架,我已经通过使用上述方法完成了这个,但他说,如果你喜欢这样,那么代码会增加,你必须遭受巨大的麻烦,所以实际上他是对的,但没有找到任何替代解决方案,所以在说不能这样做之前我想考虑一些专家意见
答案 0 :(得分:1)
我有3组课程:
我尽可能地在基类中,但是在逻辑分离的时候,拥有不同的类要容易得多。通过代码寻找异常将是一种痛苦,IMO。
我发现this blog有帮助(不是我的)
答案 1 :(得分:1)
您的上述方法实际上也是我在某些应用中确定设备的方式。
我最近在这个问题上写了little piece。
#define IDIOM UI_USER_INTERFACE_IDIOM()
#define IPAD UIUserInterfaceIdiomPad
#define IPHONE UIUserInterfaceIdiomPhone
if ( IDIOM == IPAD )
NSLog(@"Device is iPad.");
else
NSLog(@"Device is iPhone or iPod touch.");
if ( [[[UIDevice currentDevice] model] isEqualToString:@"iPod touch"] )
{
NSLog(@"Device is an iPod touch");
/* same goes for "iPhone", "iPad" etc. */
}
答案 2 :(得分:0)
这不是问题。你必须创建一个通用的应用程序。
文件--->新项目---> windowsapplication
然后选择产品Universal
。