ios应用屏幕兼容问题
2013-02-27 15:21
204 查看
在 ipone 4s 以前,我们好像没有过多的考虑屏幕兼容的问题,因为iphone 智能的帮我们解决了,
比如说 iphone iphone 3g iphone 3gs 为 320 *480
iphone 4 iphone 4s 为 640 *960
我们很多情况下就是提供一个 xx@2x.png,如果是Retina屏幕,iphone为自己选择现实@2x 的图片。
而iphone 5 为 640 *1136 比 4 和4s 高了 176像素。
如果我们考虑屏幕兼容,我们可以这样
1判断是否 iphone 5,如果是5的话,我们做一些特殊的处理,比如说如果是5的话我们把视图的尺寸增大等
#define isIPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ?
CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
2 直接用比例,在设置尺寸的时候我们不把数据写死,只是提供一些比例。
#define ScreenHeight [[UIScreen mainScreen] bounds].size.height
#define ScreenWidth [[UIScreen mainScreen] bounds].size.width
#define StateBarHeight 20
#define MainHeight (ScreenHeight - StateBarHeight)
#define MainWidth ScreenWidth
3 autoLayout
这个不说了
4 如果有xib文件,我们可以针对不同的情况,新建多个xib文件。比如说一些很复杂的布局,我们可能要建1个 水平的,1个垂直的,一个针对5的xib。
比如说 iphone iphone 3g iphone 3gs 为 320 *480
iphone 4 iphone 4s 为 640 *960
我们很多情况下就是提供一个 xx@2x.png,如果是Retina屏幕,iphone为自己选择现实@2x 的图片。
而iphone 5 为 640 *1136 比 4 和4s 高了 176像素。
如果我们考虑屏幕兼容,我们可以这样
1判断是否 iphone 5,如果是5的话,我们做一些特殊的处理,比如说如果是5的话我们把视图的尺寸增大等
#define isIPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ?
CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
2 直接用比例,在设置尺寸的时候我们不把数据写死,只是提供一些比例。
#define ScreenHeight [[UIScreen mainScreen] bounds].size.height
#define ScreenWidth [[UIScreen mainScreen] bounds].size.width
#define StateBarHeight 20
#define MainHeight (ScreenHeight - StateBarHeight)
#define MainWidth ScreenWidth
3 autoLayout
这个不说了
4 如果有xib文件,我们可以针对不同的情况,新建多个xib文件。比如说一些很复杂的布局,我们可能要建1个 水平的,1个垂直的,一个针对5的xib。
相关文章推荐
- IOS屏幕分辨率兼容问题
- iOS 5.1及6.0 屏幕旋转的兼容问题
- 解决Xcode 7打包的应用与iOS 9的兼容问题
- IOS Orientation, 想怎么转就怎么转~~~ 此博文主要针对IOS应用, 是屏幕旋转相关问题的一个总结. 主要内容有: IOS5,6,7不同版的适配. 强制旋转和自动旋转.
- Xcode 7打包的应用与iOS 9的兼容问题
- ios开发屏幕问题
- ionic中android,和ios生成的一些兼容问题---$ionicConfigProvider
- iOS 10.0的网络问题:设置使用无线局域网与蜂窝移动的应用
- iOS 7.1企业应用证书无效问题(已解决)
- iOS [UIScreen mainScreen].bounds 横竖屏在不同版本获取屏幕大小不对的问题
- 关于IOS屏幕的旋转问题
- iOS开发中带导航控制器的屏幕旋转问题
- 关于IOS屏幕旋转的几个问题1.常规设置2.个别页面强制固定横竖屏
- iOS应用进入后台后计时器和位置更新停止问题的解决办法
- iOS-为你的应用兼容iPhone X
- iOS开发:为你的应用兼容iPhone X
- IOS开发—应用屏幕横竖屏切换设置
- iOS开发中测试机或者模拟器运行时程序没有占整个屏幕问题
- iOS屏幕适配问题