iOS 8 by Tutorials (Section1:自适应布局)

Section1:自适应布局

image

 摘选自iOS 8 by Tutorials 部分翻译来自http://blog.csdn.net/u012390519/article/details/42004393

iOS8中,你将有新的方法去建立界面,你有完全独立的设备、屏幕尺寸、分辨率和设备方向(device orientation),你将会了解collections的特性、size classes和通用的Storyboards,每一个功能不仅仅在现在的设备做好最好的interfaces,我想在将来也会一样。以开放的心态去阅读下面的要点,准备吃惊吧。

1.1、自适应布局的介绍:

前些年的iPhone,可能只是一个尺寸,一种分辨率,所以我们可以将界面布局写得死死的,就算是有了iPad,机智的我们也可以建立2个Xib或者Storyboards,当然代码也行:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { ...
}

只是看到代码发送我脊背发凉! by Tutorial Team

这些解决方案没有一个特别的合适,往往更容易创建两个完全独立的应用程序,一个用于iPad和iPhone。

为了解决这种问题就产生了AutoLayout,它定义了布局的语法,详细描述了UI元素与元素之间的大小和位置的关系,而不是指定每个控件单独的大小和位置。不管怎么样,AutoLayout是一个相当复杂的学习过程,苹果一直努力推广这个种布局让大家接受。

考虑如何适应您的现有应用程序到另一个新设备,另一个屏幕大小。当你发现又一次重复相同的设计过程 ,又一次添加nib或是storyboard和基于判断设备的代码分支。

随着现在尺寸的增多及分辨率的疯狂来袭,你可能想到了新建几个Xib来兼容,这个多么可怕的错误!还好Apple给我们带来了  Adaptive Layout及 size-classes,他们创建的一个简单布局,可以兼容多所以的iOS设备和所以尺寸-即使将来会有更多。

  • Adaptive Layout: collections的特性、size classes和通用的Storyboards可以让你的设计在所有的iOS设备上适配,你将看到如何配置你的布局的size classes,它将无缝地转移到当前和未来的iOS设备。现在你可以试着用自动布局的知识从头创建一个天气的应用程序,使用这些知识进行进行不断的更新。

  • Transition Coordinators: 界面的旋转在自适应中莫过于改变视图的bounds,建立多个线条的界面然后旋转设备,你会发现自己完全是个渣渣了。

  • Adaptive View Controller Hierarchies(自适应视图控制器层次结构):iPhone隆重推出UISplitViewControlle,视图控制器层次结构能够适应自动布局就像适应周围环境一样。你现在可以用表示相同的复杂视图控制器代表不同层次不同的设备配置。用一个较复杂的颜色选择器应用程序为例,在本章中你将完善现有的颜色应用程序,你可以用它选择整套的颜色。这个app是从xcode5的模板创建而来,在你发现如何升级它去适应ios8之前定制它的功能。
  • 显示控制器:当屏幕上出现一个新的控制器被认为是presented(这里的意思是代码中调用 presentViewController函数弹出一个模态框),弹出,警告和搜索控制器比以前更近了。您可以使用presentation controllers完成定制整个过程。你可以开始学习有关更新警告,弹出和搜索控制器通过构建一个简单的app来检验你的水平
 
  • 看起来还有好多东西在吸引着我们,因为我们即将要做一些新的使用前沿的技术的项目,还在等待什么?不要犹豫向着Adaptive Layout赶紧行动。

原文地址:https://www.cnblogs.com/HypeCheng/p/4231578.html