我正在尝试编写一个应用程序而不使用nib,一切我都会以编程方式完成。
现在的问题是,我该如何支持两者iPad and iPhone?显然,我不能这样做
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
// load iPad nib
} else {
// load iPhone nib
}
如果我创建2个视图控制器,那么IBAction
将是多余的。
有什么建议吗?
您可能应该只找出设备类型applicationDidFinishLaunching
然后为每个设备加载单独的控制器。但如果您只想对所有设备使用单一实现,请执行如下检查:
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
{
//do some iPad stuff
}
else
{
CGFloat screenH = [UIScreen mainScreen].bounds.size.height;
if([UIScreen mainScreen].scale == 2.f && screenH == 568.0f)
{
//do iPhone 5 stuff
}
else
{
//do iPhone 4S and iPhone 4 stuff
//the dimensions are the same however, if you want to do iPhone 4S specific stuff
// you'll need to do additional checks against video resolution or other differences etc
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)