iOS通用屏幕设计
Posted
技术标签:
【中文标题】iOS通用屏幕设计【英文标题】:iOS generic screen designing 【发布时间】:2014-01-31 10:46:16 【问题描述】:My Team 为 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);
【问题讨论】:
不同的屏幕设计是什么意思?看起来不一样?或者只是为相应的设备创建不同的笔尖? 在IOS中,有一些不同的屏幕(尺寸),iPhoneretina 3.5",retina 4",iPad,iPad mini。因此,您可以分别为 iPad 和 iPhone 使用两种不同的 xib。要适合视网膜 3.5" 和 4",请使用自动布局。如果您的观点更复杂,也请使用另一个 xib。 我可以理解区分 iPhone 3.5" 或 4" 和 iPad 的必要性,但 iPad 和具有相同分辨率的 iPad Mini 之间有什么意义呢? 嗨,我已经用我的团队完成的示例代码更新了我的问题。他们使用此代码在不同设备上显示信息按钮。这是正确的做法吗? 【参考方案1】:通过进行不同的屏幕设计,我假设您的意思是使用不同的 XIB 或情节提要? 如果这确实是您正确的做法,我建议您查看Auto Layout。 这样,您只需描述您希望元素的布局方式,iOS 将根据屏幕尺寸自动布局它们。这样一来,您就可以只使用一两个(iPad 和 iPhone)故事板,从而无需为每个屏幕分辨率创建单独的布局。 顺便说一句,即使没有自动布局,iPad 和 iPad Mini 或 iPod 5 和 iPhone 5 也不需要不同的布局,因为它们共享相同的分辨率。
【讨论】:
这就是我们为不同设备完成编码的方式。 嗨,我已经用我的团队完成的示例代码更新了我的问题。他们使用此代码在不同设备上显示信息按钮。这是正确的做法吗? 感谢您添加示例代码。但是,这不是自动布局,因为您自己手动设置了所有框架。这意味着您需要为每个屏幕分辨率和设计师所做的更改做大量工作。当您使用自动布局时,您不应该再设置框架属性,自动布局应该使用当前屏幕尺寸和您自己的约束来计算框架。这样,您就不再需要发布的任何示例代码了。我建议你看看 Apple 自己的 Auto Layout 介绍和 Ray Wenderlich 的“Beginning Auto Layout”教程。以上是关于iOS通用屏幕设计的主要内容,如果未能解决你的问题,请参考以下文章
使用 Launch Screen.xib 模板的真正通用 iOS 启动屏幕?
Android 屏幕适配屏幕适配通用解决方案 ④ ( 自定义组件解决方案 | 计算设计稿与实际布局的比例系数 )
Android 屏幕适配屏幕适配通用解决方案 ④ ( 自定义组件解决方案 | 计算设计稿与实际布局的比例系数 )
iOS 通用二进制 - 切换 ModalPresentationStyle