我的团队针对 iPad、iPad Mini、iPod、iPhone 等不同的 iOS 屏幕进行不同的屏幕设计。在完成支持/适合所有屏幕的单个设计时,是否有一种通用方法可以做到这一点。目前,我们在不同设备和不同版本的应用程序上面临更多问题。上面提到的是一个完全原生的 iOS 应用程序。不是 phonegap/不是 Titanium。
这就是我们为不同设备编写代码的方式。
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
if([UIScreen mainScreen].bounds.size.height == 568)
{
HelpView.frame=CGRectMake(7, 0, 300, finalheight+30);
himgview.frame=CGRectMake(7, 560, 300, finalheight+30);
}
else if([UIScreen mainScreen].bounds.size.height==480){
HelpView.frame=CGRectMake(0, 0, 310, finalheight+30);
himgview.frame=CGRectMake(5, 555, 310, finalheight+30);
}
}
else{
if([UIScreen mainScreen].bounds.size.height == 568)
{
HelpView.frame=CGRectMake(7, 0, 300, finalheight+30);
himgview.frame=CGRectMake(7, 550, 300, finalheight+30);
}
else if([UIScreen mainScreen].bounds.size.height==480){
HelpView.frame=CGRectMake(0, 0, 310, finalheight+30);
himgview.frame=CGRectMake(5, 555, 310, finalheight+30);
}
}
最佳答案
通过不同的屏幕设计,我假设您的意思是使用不同的 XIB 或 Storyboard?
如果那确实是您所做的正确的事情,我建议您看一下 Auto Layout .
这样,您只需描述您希望元素如何布局,iOS 就会根据屏幕尺寸自动对它们进行布局。这样一来,您就可以只使用一两个(iPad 和 iPhone) Storyboard,从而无需为每个屏幕分辨率创建单独的布局。
顺便说一句,即使没有自动布局,您也不需要为 iPad 和 iPad Mini 或者 iPod 5 和 iPhone 5 使用不同的布局,因为它们共享相同的分辨率。
关于iOS通用屏幕设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21478109/