之前一直用的是老的坐标定位,和自动缩放进行ui定位,现在iphone6出来了,尺寸又变了,为了适应各种屏幕,以前的通过判断设备类型和设备屏幕大小调用不同的xib已经有点过时了,或者说太浪费时间了,也可以说是一种bug。现在必须使用新的autolayout来定义界面。
使用autolayout必须知道Constraints。就是约束规则,通过定义一系列规则来描述某个控件的位置和大小,和其他控件的关系,同时可以定义优先级,优先考虑优先级高的规则。
Constraints包含以下规则:
1.自身规则。
定义自己的宽度或者高度,定义自己距离父窗口上下左右的距离,或者是居中点。
2.和其他控件规则。
定义2个控件的上下左右对齐方式,定义2个空间的上下距离。
基本上通过这2种规则的定义,我们就可以轻松的描述一个界面的信息,而且可以在iPhone4s,iPhone5,iPhone6,以及ipad上都能保持良好适配。
ios8还支持SizeClasses,对于某一下在pad上和phone上希望显示不同的控件,或者不同的控件大小,都可以通过这个功能,完成,比如aW,aH表示任意的设备,rW,aH表示一个pad等。不过个人觉得这个功能有点落伍,把在代码中判断设备的功能放到ui编辑器了而已。
此外ios6和7、8对于autolayout的理解方式不一样,比如ios7和8中如果是个UITabBarController的一个界面,最下面的空间的bottom规则定义是,距离父窗口底部距离是49(49是tabbar的高度),而在ios6中则应该定义为距离父窗口的底部距离是0。而这个只能在代码里硬判断,然后手动添加规则了。估计这也是在xcode6中开始放弃ios6的原因吧。
相关推荐
iOS8开发~UI布局(三)深入理解autolayout中的所有Demo
ios6 新功能 AutoLayout的使用,一共4个例子,解决不同设备的UI定位问题
iOS8开发~UI布局(二)storyboard中autolayout和size class的使用详解
Awesome tutorial on ios Autolayout and UI design for all devices
iOS8开发~UI布局(二)storyboard中autolayout和size class的使用详解
随着iOS8系统的发布,一个全新的页面UI布局概念出现,这个新特性将颠覆包括iOS7及之前版本的UI布局方式,这个新特性就是SizeClass。...显然硬编码UI的Frame的时代要过去了,要使用AutoLayout了。自从iOS6开始就引入
iOS UI调试利器,Reveal 1.5超过35个新的功能,这是迄今为止最全面的软件更新。,最新版,完美破解,新版对autolayout支持的更好,支持显示ViewController,下载运行即可
它集成了以下功能:iOS的Autolayout和SizeClass,Android的五个布局类,float和flex-box以及HTML / CSS引导程序。 MyLayout的Swift版本的名称为: 中文(简体): 用法 有一个容器视图S,其宽度为100,高度包装为...
它集成了以下功能:iOS的Autolayout和SizeClass,Android的五个布局类,float和flex-box以及HTML / CSS引导程序。 TangramKit的Objective-C版本名为: 中文(简体): 用法 有一个容器视图S,其宽度为100,高度...
iOS8SelfSizingCells ,iOS8SelfSizingCells根据内容实现不同高度的单元格。使用Autolayout进行UI...
iOS程序员经常会被UI虐待,要么是UI太水,不会根据iOS适配规则进行UI设计,要么是真的需要一些地方采用UI根据屏幕进行等比缩放,但程序员们大都中了Autolayout的毒,很难打破重新使用frame的心理障碍,痛不欲生;...
这些规则允许调整我们的UI元素的大小和位置,以便无论它们显示在哪个屏幕上,它们始终看起来都符合设计者的意图。 您将创造什么 尽管Dicee已经很漂亮了,但是当我们尝试将屏幕旋转到横向或屏幕尺寸与画布不同时,...
他集成了iOS的AutoLayout和SizeClass以及Android的五大容器布局体系以及HTML/CSS中的float和flex-box的布局功能和思想,目的是为iOS开发人员提供一套功能强大、多屏幕灵活适配、简单易用的UI布局解决方案。...
Chapter 2, The Essentials, covers the most commonly used UI components, such as UIView, gestures, stack views, and so on. Chapter 3, Integrating with Messages App, talks about one of the hottest ...
WHC_AutoLayout 当前使用的iOS和Mac OS X平台上最快,最简单的开发是自动构建UI布局的开源库,强大的动态布局约束处理能力服务更新约束,方便快捷的动态UI布局。 Swift4。+版本 :backhand_index_pointing_right: ...
Designing UI views with Interface Builder Using the improved Xcode 5 Autolayout editor Improving reliability with unit testing Simplifying iOS provisioning Leveraging refactoring and continual error ...
Practical Autolayout guides, tips and tricks for xcode 7 for all devices
Enrich your UI skills with UIStoryboard, Autolayout, Size classes, and Container view Produce enhanced results with iOS 10 as a result of learning and implementing pro-level practices, techniques, and...
StoryBoard 的本质 StoryBoard 是苹果在 iOS 5 中引入的新技术方案,目的是给纷繁复杂的 nib、xib 们一个温暖的家,让他们之间的关系更直观地展示出来...但是,我们应该认识到一个更重要的本质:使用 StoryBoard 的 iOS
Chapter 2, The Essentials, covers the most commonly used UI components, such as UIView, gestures, stack views, and so on. Chapter 3, Integrating with Messages App, talks about one of the hottest ...