Autolayout的使用

1 界面设置

1>,红色报错

使用了Autolayout就不能手动设置frame。Autolayout的原理也是设置frame,不过讲究的是相对位置。如果它的x,y,height,width有一个没设置好,就会报错。x,y设置可以设置具体数据,也可以相对左右上下对齐实现,也可以相对水平垂直平均线调制。height,width可以设置具体数据,也可以相对等高等宽,相对大小。

2>,黄色报错

这是xcode提醒在xib或sb的布局与实际不相符,只要我们update frame就可以了

2 手写设置

1>首先要进制autoresizing功能

view.translatesAutoresizingMaskIntoConstraints = NO;

2>不要再设置frame

3>方法

    [view addConstraint:<#(NSLayoutConstraint *)#>];
    [view addConstraints:<#(NSArray *)#>];
时间: 2024-10-07 03:46:49

Autolayout的使用的相关文章

如何解决IOS 动画中 Autolayout 与View Transforms的冲突

IOS 的动画放大与缩小,并非按照找它的中心点放大和缩小,而是左上角 .我分析了下原来是Autolayout 与View Transforms的冲突造成的. - (void) addSubviewWithZoomInAnimation:(UIView*)view duration:(float)secs option:(UIViewAnimationOptions)option { // first reduce the view to 1/100th of its original dimen

AutoLayout

1. iOS两种自适应布局方式: -AutoLayout(自动布局) + SizeClasses(尺寸类别) -Autoresizing (自动调整尺寸/弹簧式调整尺寸) 前者 AutoLayout 是从iOS6出现,通过创建视图约束实现自适应,SizeClasses是iOS8 开始出现,用于配合AutoLayout使用,为解决所有(包括iPhone,iPad)iOS设备屏幕尺寸和屏幕旋转时UI的适配. 后者是早期开发使用的适配界面的方式,现在仍然保留.通过弹簧式调整控件尺寸,使其适应屏幕的尺寸

iOS 8 自动布局sizeclass和autolayout的基本使用

1.首先创建新的工程,设置rootviewcontroller(这里不再多说) 2.勾选下面(因为我们到下面是使用sizeClass,所以勾选两个): 3.这里我创建了一个lable,名称为View1,在这里可以看到设置View1的约束为距上和左侧为0,宽和高设置的都是200,同理可以设置距离右和下的约束,如图: 4.当上面工作完成以后,点击Add按钮,会出现黄色的约束范围,如下图: 5.上面工作完成后点击Update Frames,到此View1的约束创建完毕,如图.当我们要更改约束的时候,需

iOS AutoLayout的用法

添加约束 代码实现Autolayout的步骤 利用NSLayoutConstraint类创建具体的约束对象 添加约束对象到相应的view上 - (void)addConstraint:(NSLayoutConstraint *)constraint; - (void)addConstraints:(NSArray *)constraints; 代码实现Autolayout的注意点 要先禁止autoresizing功能,设置view的下面属性为NO view.translatesAutoresiz

iOS开发UI篇—屏幕适配autoResizing autoLayout和sizeClass图文详解

1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS开发者基本不用怎么适配布局,所有的ui控件只要相对父控件布局就可以了,没错autoResizing就是一个相对于父控件的布局解决方法:注意:它只能相对父控件布局:***在xcode中可以通过可视化的界面调整也可以通过代码去控制 在用autoResizing的时候需要关闭autoLayout和sizeclas

AutoLayout的那些事儿

转自:http://www.cocoachina.com/ios/20160530/16522.html 本文投稿文章,作者:MangoMade(简书) AutoLayout非常强大也非常易用,可读性也很强,加上各种第三方AutoLayout库,让你布起局来犹如绷掉链子的狗!根本停不下来!以前的 label.frame.origin.y + label.frame.size.height + 10 如今只用: button.snp_makeConstraints{     $0.top.equa

探索AutoLayout的本质和解决一些问题

最近频繁使用AutoLayout,记录下自己的一些发现和问题的解决(不是教程) 1.简介 Auto Layout 是苹果在 iOS 6中新引入的布局方式,旨在解决不同尺寸屏幕的适配问题. 屏幕适配工作在 iPhone 6 及 plus 发布以后变得更加重要,而且以往的“硬编程”的工作量大幅增加,所以很多人开始学习使用 Auto Layout 技术. 2.核心思想 Auto Layout 的本质是依靠 某几项约束条件 来达到对某一个元素的定位. 我们可以在某个地方只使用一个约束,以达到一个小目的,

Masonry介绍与使用实践:快速上手Autolayout

以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了 在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window的size不变 在iphone5-iphone5s时代 window的size变了(320,568) 这时autoresizingMask派上了用场(为啥这时候不用Autolayout? 因为还要支持ios5呗) 简单

轻量级应用开发之(06)Autolayout自动布局

一 什么是Autolayout Autolayout是一种“自动布局”技术,专门用来布局UI界面的. 自IOS7 (Xcode 5)开始,Autolayout的开发效率得到很大的提高. 苹果官方也推荐开发者尽量使用Autolayout来布局UI界面. Autolayout能很轻松的解决屏幕适配的问题. 1. 关闭自动布局 打开面板(Main.storyboard)-> 点击 View Controller -> 取消 Use Auto Layout . 默认是  302 * 520 的尺寸,

iOS — Autolayout之Masonry解读

前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了 在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window的size不变 在iphone5-iphone5s时代 window的size变了(320,568) 这时auto