Autoresizing简介 Autoresizing是苹果早期屏幕适配的解决办法,当时iOS设备机型很少、屏幕尺寸单一、APP界面相对简单,屏幕适配并没有现在这么复杂,所有的UI控件只要相对父控件布局就可以了...,Autoresizing就是一个相对于父控件的布局解决方法 在Xcode5之后,新建的项目默认使用AutoLayout。...Autoresizing默认不启用,我们可以去掉use Auto Layout前面的对勾来启用Autoresizing Autoresizing用法 XIB中使用Autoresizing Autoresizing...举个例子: 当我们将左边和上面虚线变成实线时,代表子控件和父控件在这个方向上的间距被固定 当我们点击子视图内部的虚线时,同样也变为实线,代表子视图的宽度或者高度被固定了 Autoresizing...同理, 如果垂直方向同时固定了上边距和下边距,那么我们不能固定子控件的高度(反应在storyBoard中的设置,也就是必须使控制子控件高度的虚线变为实线) Autoresizing缺点 Autoresizing
二:左右间距和宽随着窗口等比例变化(保持顶部间距不变) Autoresizing2.png 上图设置等同编码: setAutoresizingMask:NSViewWidthSizable|NSViewMinYMargin...三:右边间距不变,左边间距与宽按比例变化 Autoresizing3.png 上图设置等同编码: setAutoresizingMask:NSViewMaxYMargin|NSViewMinXMargin
autoresizing.png (一)Autoresizing Autoresizing是早期iOS设备机型很少、APP界面布局相对简单的背景下产生的一种屏幕适配技术。...Autoresizing默认不启用,我们可以去掉use Auto Layout前面的对勾来启用Autoresizing,如下图。 ?...启用Autoresizing.gif 1.2.Autoresizing介绍 有一种说法:autoresizing是为了解决iPad开发中横竖屏适配问题应运而生的。...storyBoard上的autoresizing.gif 注意:Autoresizing只能设置父子视图之间的关系,也就是说,Autoresizing只能控制子视图和父视图之间的位置/大小关系。...,那么Autoresizing自动被屏蔽掉;如果你选择了Autoresizing,那么AutoLayout自动被屏蔽掉。
其中,autoResizing和autoLayout是两种不同的屏幕适配技术。 1)autoResizing autoResizing是iPhone早期的一种适配技术,目前已经越来越少被使用了。...autoResizing是用于设置子控件相对于父控件的位置关系的。 ?...; autoResizing存在一定局限,它没有提供控件之间的关系,控件之间的距离并不能设定。...所以,现在越来越少人使用autoResizing进行适配。 2)autoLayout autoLayout是目前最流行且被广泛使用的屏幕布局技术。...autoLayout提供了比autoResizing更丰富的约束规则。可以说,autoLayout是autoResizing升级版。
Autoresizing 的核心思想就是:参照父容器来设置子控件的 frame 不再写死 frame, 而是参照父容器 举例:在竖屏下有一个按钮要占据整个屏幕宽度, 当切换到横屏以后同样要占据整个屏幕的宽度..., 不仅要求能根据控件父子 关系来设置相对位置,也要求能根据任意控件之间的关系来设置位置因为 Autoresizing 只能设置当前控件 与父控件之间的相对关系,当遇到要设置兄弟控件之间的关系的时候 Autoresizing...只是为了介绍, 以后不要用 Autoresizing,都用 Auto Layout 一定记住:在一个视图中 Autoresizing 和 Auto Layout 只能用其一,通过 Autoresizing...解决布局问题,首先取消掉 Auto Layout 2.1 StoryBoard中使用Autoresizing 注意 ⚠️:子控件和父控件贴边的时候,有特殊情况。...2.1.1 外面四根线 表示子控件距离父控件的四周边距是否固定 2.1.2 里面两根线 子控件的宽高是否随着父控件的宽高变化 2.2 代码中使用Autoresizing AutoresizingMask
关于iOS的布局主要有两种方式,分别是AutoResizing和AutoLayout。其中AutoResizing作为一种旧的布局方式,在AutoLayout被推广之后已经很少被使用。...一.AutoResizing 我们在使用AutoResizing进行布局的时候,其主要思想就是设置子视图跟随父视图的frame变化而变化。具体的情况,我们可以设置左跟随,右跟随等等。...下面是AutoResizing在代码中的使用。...2.png 二、AutoLayout AutoLayout相比AutoResizing更加实用,是可以完全替代AutoResizing的一种自动布局方式。...2.我们设置该属性为NO,AutoResizing并不会直接失效,只有当我们为视图设置了constraint之后,AutoResizing才会失效。
iOS界面布局之一——使用autoresizing进行动态布局 autoresizing是iOS中传统的界面自动布局方式,通过它,当父视图frame变换时,子视图会自动的做出相应的调整。...二、nib文件中可视化设置自动布局 在storyboard中我们可以更加轻松的进行autoresizing自动布局。...在view设置栏中有autoresizing这个设置,点中相应的箭头,就是刚才我们探讨的设置选项。并且我们把鼠标放在这个上面的时候,右侧会自动为我们预览效果。 ?...如果你觉得autoresizing很强大,那么你就太容易满足了,autoresizing可以满足大部分简单的自动布局需求,可是它有一个致命的缺陷,它只能设置子视图相对于父视图的变化,却不能精确这个变化的度是多少
Paste_Image.png 1、Autoresizing: 使用前提关掉AutoLayout ?...Paste_Image.png 代码实现Autoresizing(iPad) 这个代码其实很恶心 —设置谁,谁就不固定(设置顶部不固定,那么底部就是固定的)(只有宽高是设置就固定。。。) ?
设置textFiele 和EDStarRating view 的autoresizing ? label 的autoresizing设置 ? 按钮的autoresizing设置 ?...image view 的autoresizing设置 运行工程,我们可以看到所有的控件都会在窗口大小改变的时候会相应的调整合适的尺寸或位置,这样看起来比我们之前没有设置窗口适配要美观一些了,当然,若是觉得窗口过大导致
Autolayout的开发效率得到很大的提升 苹果官方也推荐开发者尽量使用Autolayout来布局UI界面 Autolayout能很轻松地解决屏幕适配的问题 Autolayout的2个核心概念 参照 约束 与 Autoresizing...区别 在Autolayout之前,有Autoresizing可以作屏幕适配,但局限性较大,有些任务根本无法完成 相比之下,Autolayout的功能比Autoresizing强大很多 拖线时造成的Autolayout...NSLayoutConstraint *)constraint; - (void)addConstraints:(NSArray *)constraints; 代码实现Autolayout的注意点 要先禁止autoresizing
iOS界面布局之二——初识autolayout布局模型 一、引言 在上一篇博客中介绍了传统的布局方式:autoresizing。...随着iphone型号的越来越多,屏幕的标准也更加多样化,通过autoresizing已经不能满足开发的需求,而进行两套布局或者动态代码控制又大大增加了开发者的工作量,autolayout的出现拯救个这一切...autoresizing介绍:http://my.oschina.net/u/2340880/blog/423357。...自动布局解决复杂的布局需求了,但是切记,正式因为aotulayout的强大使它会隐藏更多的坑,下面是我的几点感悟,再次分享: 1、autolayout的精髓在于足够多的约束,autolayout之所以比autoresizing
AutoLayout简介 AutoLayout旨在替代Autoresizing,所以在同一个项目中,AutoLayout和Autoresizing是不能共存的,二者只能选其一,如果你选择了AutoLayout...,那么Autoresizing自动被屏蔽掉;如果你选择了Autoresizing,那么AutoLayout自动被屏蔽掉。...constraint - (void)removeConstraints:(NSArray *)constraints 注意: 1.先禁止 autoresizing...alloc]init]; redView.backgroundColor = [UIColor redColor]; [self.view addSubview:redView]; //先禁止 autoresizing
比如大屏下一行显示四张图片,小屏一行三张,图片尺寸固定 比例放大 :间距、文字大小,图片大小等比例放大 保持比值 :俩个UI元素或者图片的长宽等属性保持一定的比值 对齐 :元素间按某个方向对齐 屏幕适配的方法 Autoresizing
在Xcode8中,我们可以给View指定autoresizing masks,而不用去设置constraints。这就意味着我们可以不用约束,我们也能做到简单的resize的效果。...事实上,Xcode 8的做法是先取出autoresizing masks,然后把它转换成对应的constraints,这个转换的时机发生在Runtime期间。...点击View,查看给它加的所有的constraints,这个时候Autoresizing masks就被忽略了,而且translatesAutoresizingMask的属性也会变成false。...原因是因为Autoresizing masks并不会向Autolayout一样,会考虑View的content,所以这里被挤压了。...action view在representation view上有一个autoresizing mask constraints。
AppleWatch开发入门二——界面布局 一、简介 在iphone开发中,最基本的布局方式是通过frame,将控件的位置和大小固定在屏幕上,后来,由于手机屏幕的尺寸有了略微变化,有了autoresizing...以上提到的两种布局方式,在以前博客中有讨论: 使用autoresizing进行动态布局:http://my.oschina.net/u/2340880/blog/423357 使用autolayout进行动态布局
只有当 autoresizing 和基于约束的行为的子视图不提供你想要的行为,应重写此方法。 该方法不应直接调用。
UIView大小的时候也会触发父UIView上的layoutSubviews事件 在苹果的官方文档中强调: You should override this method only if the autoresizing
You should override this method only if the autoresizing and constraint-based behaviors of the subviews
需要删除StoryBoard中的试图中的约束和 Autoresizing才能用代码设置试图的 Frame。
领取专属 10元无门槛券
手把手带您无忧上云