由于第一个项目中98%的界面都用到UITableView,所以适配仅判断此。知道手工敲代码的繁复,遂传一部分,如果有更优的方法,欢迎提出。

如下图,图中提到的宏定义是在prefix.pch预编绎文件里定义好的全局变量。

 //设备判断
#define DEVICE_IS_IPHONE5 ([[UIScreen mainScreen] bounds].size.height == 568)
#define IOS7_OR_LATER ([[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending) //设备Size
#define Screen_height [[UIScreen mainScreen] bounds].size.height
#define Screen_width [[UIScreen mainScreen] bounds].size.width
#define Page_height (IOS7_OR_LATER ? Screen_height : (Screen_height - 20)) //appdele
#define AppDelegateObj [[UIApplication sharedApplication] delegate] //通用高度
#define StatusHeight (IOS7_OR_LATER ? 20 : 0) //状态栏高度
#define TopBarHeight 44 //顶部导航高度
#define BottomBarHeight 47 //底部导航高度 //设置背景色
#define Screen_BackGround [UIColor colorWithRed:240.0/250 green:239.0/250 blue:245.0/250 alpha:1.0]

 UITableView* tableView = nil;
if (IPHONE5)
{
if (sysio71)
{
tableView = [[UITableView alloc] initWithFrame:CGRectMake(, , SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight) style:UITableViewStylePlain];
}else if (sysio7)
{
tableView = [[UITableView alloc] initWithFrame:CGRectMake(, , SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight) style:UITableViewStylePlain];
}
else
tableView = [[UITableView alloc] initWithFrame:CGRectMake(, , SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight - ) style:UITableViewStylePlain];
}
else
{
if (sysio71)
{
tableView = [[UITableView alloc] initWithFrame:CGRectMake(, , SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight ) style:UITableViewStylePlain];
}
else if (sysio7)
{
tableView = [[UITableView alloc] initWithFrame:CGRectMake(, , SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight ) style:UITableViewStylePlain];
}
else
tableView = [[UITableView alloc] initWithFrame:CGRectMake(, , SCREEN_WIDTH, SCREEN_HEIGHT - StatusHeight - TopBarHeight - ) style:UITableViewStylePlain];
}

  

ios-屏幕适配(代码)的更多相关文章

  1. iOS屏幕适配

    ## iOS屏幕适配 ### iOS屏幕适配发展史 1> iPhone4以前(没有iPad) * 不需要屏幕适配 2> iPad.iPhone5等设备出现 * 需要做横竖屏适配 * aut ...

  2. 【转】iOS屏幕适配

    一.iOS屏幕适配发展历程 设备 适配技术 4及以前(iPad未出) 直接用代码计算 有了iPad autoResizing 有不同屏幕的iPhone后 autoLayout 有更多不同屏幕的iPho ...

  3. Auto Layout 在iOS屏幕适配中的使用

    前几天在做iOS屏幕的适配,也就是让同样的UI控件的布局在不同屏幕的iOS设备上面都正确显示,storyBoard就无可避免的用到了Auto Layout.在这个过程中,我发现要熟练掌握Auto La ...

  4. iOS屏幕适配-iOS笔记

    学习目标 1.[了解]屏幕适配的发展史 2.[了解]autoResizing基本用法 3.[掌握]autoLayout 的基本用法 4.[掌握]autoLayout代码实现 5.[理解]sizeCla ...

  5. iOS屏幕适配方案-Auto Layout

    市场上的android手机五花八门.各种尺寸的屏幕让android程序员们比較头疼. 也有一些大神写了一些博客提出了自己的观点.iOS貌似也迎来了大屏6+,因此屏幕适配的问题也是有滴,因此苹果也有自己 ...

  6. iOS 屏幕适配:autoResizing autoLayout和sizeClass

    1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS开发者基 ...

  7. IOS - 屏幕适配

    原文:Beginning Auto Layout Tutorial in iOS 7: Part 1 感谢翻译小组成员@answer-huang(博客)热心翻译.如果您有不错的原创或译文,欢迎提交给我 ...

  8. 转:iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解

    1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS开发者基 ...

  9. iOS屏幕适配(尺寸适配)

    屏幕尺寸适配:一 在.pch中加入以下代码,在定义每个尺寸值的时候都调用下边的宏 //以iphone7为例 定义 view相关的宽高宏#define IPHONEHIGHT(b) [UIScreen ...

  10. iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解

    === 1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS ...

随机推荐

  1. 3、基于多播、安全认证的corosync集群(VIP、Httpd、Filesystem)

    Messaging Layer --> CRM --> RA systemd:/usr/lib/systemd/system     systemd有一个特性,即便一个服务开机启动,但是在 ...

  2. HDFS简单编程实例:文件合并

    下图显示了HDFS文件系统中路径为“localhost:50070/explorer.html#/user/hadoop”的目录中所有的文件信息: 对于该目录下的所有文件,我们将执行以下操作: 首先, ...

  3. eclipse安装插件配置Android开发环境

    安卓版本与sdk的对应   转载自: https://blog.csdn.net/cx776474961/article/details/79501740 最近学习Android开发,电脑已有开发we ...

  4. android外包公司—技术分享:Android开发环境搭建(长年承接安卓应用外包)

    Android开发环境搭建 1.安装JDK 1.1.由于Android是基于java语言的.所以在开发过程中,首先要做的事儿就是安装JDK. 1.2.JDK的安装步骤: 设置环境变量:我的电脑---- ...

  5. Java问题解决:The project cannot be built until build path errors are resolved

    参考:http://blog.csdn.net/marty_zhu/article/details/2566299 1,看看project -- Build Automatically有没有勾上?如果 ...

  6. 在input中输入需要的数据,使用qrcode,点击生成二维码

    话不多说直接上代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&quo ...

  7. shiro框架

    Shiro Shiro简介 SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能. Authentication:身份认证/登录,验证用 ...

  8. [Hibernate] 分页查询

    @Test public void test9(){ //根据部门编号进行分组,再根据每个部门总工资>5000 Session ss=HibernateUtil.getSession(); St ...

  9. hdoj5754

    题意:略 国王和骑士用记忆搜索,注意骑士的移动是x-2,y-1或x-1,y-2.车是NIM博弈,后是威佐夫博弈.注意威佐夫博弈中两堆石子有大小之分,而输入不一定小在前. #include <io ...

  10. phpldapadmin操作指导

    1.在浏览器中打开http://IP/phpldapadmin 2. 点击[Login]按钮,输入管理员密码. 3.点击[创建新条目]. 4. 点击[Generic: Postfix Group]. ...