原文地址:http://www.cnblogs.com/pinping/archive/2012/10/12.html(感谢原作者的奉献)

NSLog(@"applicationFrame%f",[UIScreenmainScreen].applicationFrame.size.height);

  可以的到整个程序的View的大小

NSLog(@"navigationBar%f",self.navigationController.navigationBar.frame.size.height);

NSLog(@"navigationBar%f",self.tabBarController.tabBar.frame.size.height);

floatheightEg = [UIScreenmainScreen].applicationFrame.size.height - self.navigationController.navigationBar.frame.size.height -self.tabBarController.tabBar.frame.size.height;

LeftView*lView=[[LeftView alloc] initWithFrame:CGRectMake(0, 0, 56, heightEg) Number:1];

[self.view addSubview:lView];

现在的lView就个适用iPhone 4/S 和iPhone 5那;

因为的程序里面有navigationController和tabBarController所以要减去navigationController和tabBarController的高度;

posted @ 2012-10-12 15:03 程序是啥 阅读(672) 评论(0) 编辑
iOS 6 Auto Layout NSLayoutConstraint 界面布局

来自:http://www.devdiv.com/iOS_6_Auto_Layout_NSLayoutConstraint_界面布局-weblog-227936-13173.html

终于ios 6推出了正式版本,同时也随之iphone5的面试,对于ios开发者来说,也许会感觉到一些苦恼。那就是原本开发的程序,需要大量的修改了。为了适应最新的iphone5的屏幕。

在WWDC2012里苹果推出了,Auto Layout的概念。我们可以通过Auto Layout来适应屏幕的改变。

比如我们要做一个如下的界面。

如果按照以前的frame的方式的话,大概代码如下

[代码]c#/cpp/oc代码:

01 UIView *myview = [[UIView alloc] init];
02 myview.backgroundColor = [UIColor greenColor];
03 UIView *redView = [[UIView alloc] init];
04 redView.backgroundColor = [UIColor redColor];
05 UIView *blueView = [[UIView alloc] init];
06 blueView.backgroundColor = [UIColor blueColor];
07 [myview addSubview:redView];
08 [myview addSubview:blueView];
09 redView.frame = CGRectMake(50, 80, 100, 30);
10 blueView.frame = CGRectMake(180, 80, 100, 30);
11 self.view = myview;

通过上面的代码我们就能很简单的实现上面的布局效果了,但是使用auto layout的时候我们需要使用如下代码来实现。

[代码]c#/cpp/oc代码:

view sourceprint?
01 UIView *myview = [[UIView alloc] init];
02  
03 myview.backgroundColor = [UIColor greenColor];
04  
05 UIView *redView = [[UIView alloc] init];
06  
07 redView.backgroundColor = [UIColor redColor];
08  
09 UIView *blueView = [[UIView alloc] init];
10  
11 blueView.backgroundColor = [UIColor blueColor];
12  
13 [myview addSubview:redView];
14  
15 [myview addSubview:blueView];
16  
17 [myview setTranslatesAutoresizingMaskIntoConstraints:NO];
18  
19 [redView setTranslatesAutoresizingMaskIntoConstraints:NO];
20  
21 [blueView setTranslatesAutoresizingMaskIntoConstraints:NO];
22  
23 NSMutableArray *tmpConstraints = [NSMutableArray array];
24  
25 [tmpConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"|-50-[redView(==100)]-30-[blueView(==100)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(redView,blueView)]];
26  
27 [tmpConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-30-[redView(==30)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(redView)]];
28  
29 [tmpConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-30-[blueView(==redView)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(blueView,redView)]];
30  
31 [myview addConstraints:tmpConstraints];
32  
33 self.view = myview;

最后对于向下兼容的时候我们可以通过

[代码]c#/cpp/oc代码:

1 if([myview respondsToSelector:@selector(addConstraints:)]){
2  
3 //支持auto layout
4  
5 }else{
6  
7 //不支持
8  
9 }

iPhone 5 屏幕尺寸变长指南相关推荐

  1. iPhone手机屏幕尺寸与倍图计算公式

    原文地址::https://blog.csdn.net/jia12216/article/details/82881672 相关文章 1.iphone关于单倍图和二倍图(导航 背景 变高)----ht ...

  2. iPhone手机屏幕尺寸与倍图计算公式(更新至iPhone 14 Plus)

    iPhone手机屏幕尺寸一般指:物理像素,ps像素. iPhone的app现在一般适配2倍图和3倍图. iphont4s 是2倍图,但是你画一个粗为0.5的线,iphont4s显示不出来,iphont ...

  3. iphone11屏比例_介绍iPhone 11和iPhone X屏幕尺寸对比iPhone 11屏幕和i

    目前苹果x屏幕比例几比几,有关下一代新iPhone X的消息已经传播到互联网上. 至于这台机器有多神奇,有很多意见. 最近,有iPhone 11运行的子图片流出. 让我们看看哪个iPhone 11屏幕 ...

  4. iOS开发 -- iPhone手机屏幕尺寸

    1: 获取屏幕尺寸方法:NSStringFromCGRect(self.window.frame) 第一个大括号的0 0 代表原点 也就是左上角的点 iphone4s 屏幕{0, 0}, {320, ...

  5. iPhone手机屏幕尺寸(分辨率)

    第一代iPhone2G屏幕为3.5英吋,分辨率为320*480像素,比例为3:2. 第二代iPhone3G屏幕为3.5英吋,分辨率为320*480像素,比例为3:2. 第三代iPhone3GS屏幕为3 ...

  6. iphone x屏幕尺寸_苹果公布 iPhone 12/12 Pro 屏幕更换价格,网友:碎不起!

    自从 iPhone 12/12 Pro 可以预购之后,iPhone 12 系列的热度几乎就没有减少过.虽然大家之前都说 iPhone 12 系列很丑,还没有耳机和充电器,但事实却是,在开售前一天各大电 ...

  7. 【iOS】 各iPhone手机屏幕尺寸分辨率

    机型 物理像素 逻辑像素 规格 对角线 iPhone 14 Pro Max 1290*2796px 430*932pt @3x 6.7英寸 iPhone 14 Pro 1179*2556px 393* ...

  8. iphone及ipad屏幕尺寸参考

    初代iPhone 2007年,初代iPhone发布,屏幕的宽高是 320 x 480 像素.下文也是按照宽度,高度的顺序排列.这个分辨率一直到iPhone 3GS也保持不变.那时编写iOS的App(应 ...

  9. 苹果X可以升级5G吗_苹果分析师:2020 年的 iPhone 屏幕尺寸升级,还有 5G

    2019 年款的新 iPhone 还没发布呢,最近已经出现了 2020 年 iPhon 12 的相关消息 近日,供应链厂商和著名的苹果分析师郭明錤都预测,苹果计划在 2020 年下半年发布三款 iPh ...

最新文章

  1. 什么是数据库范式(NF)?从一范式到五范式分别是什么?
  2. 1048 数字加密 (20 分)java
  3. dosbox更新加载的文件夹
  4. android studio wcf,将图像从android studio上传到Wcf Service
  5. 【单片机相关】的网站
  6. windows服务又界面吗_详解远程桌面协议, Linux 和 Windows 间的远程桌面互相访问(RDP、VNC协议)...
  7. 用Ghostscript API将PDF格式转换为图像格式(C#)
  8. 演出节目名字_华晨宇——让我看娱乐节目看到感动
  9. VB连接oracle数据库
  10. 如何做好企业SWOT分析?用这个企业项目设计工具就足够了!
  11. php模板页文件在,thinkphp 使每一个模板页都包括一个header文件和一个footer文件
  12. 设备云对接homekit_如何重置您的HomeKit设备和配置
  13. Dell服务器组建阵列-Raid(有阵列卡)
  14. 百度API---详解
  15. 使用 NetCat 工具实现远程文件传输
  16. 【观察】星环科技“七剑下天山”,做数据世界超高速引擎
  17. 操作系统(COPY自wk)
  18. 秒杀设计 mysql_如何设计秒杀系统?
  19. 基于PHP的学生食堂管理系统
  20. Mysql实现for循环遍历

热门文章

  1. 为什么开发Java Web都要用框架
  2. dnf一直接收服务器信息失败怎么办,DNF近期出现的 接受频道信息失败 解决方法...
  3. 繁简转换的实现方式。
  4. 2021-09-21统计年鉴免费下载
  5. 我对创业投资的一些体会看法
  6. 【嵌入式开发板】迅为iTOP-4412开发板板及资料介绍
  7. 骨传导耳机有用吗,最好用的骨传导耳机分享
  8. 简简单单的一个嵌入式板子项目,笔记
  9. java ssssss,在Java 7中将字符串日期转换为yyyy-MM-dd’T’HH:mm:ss.SSSSSS格式的字符串...
  10. 内部表与外部表——头歌