fame,autosize,autolayout 的之我见

很多新人对于这几个东西,都不是很理解概念比较混淆。所以整理下自己的思绪,写下这篇文章。

要描述一个控件最基本的信心就是 :位置 ,大小  也就是point 和size

而frame 就是囊括这个信息的最小单元了。

autosize 就是自适应大小,适应父控件的大小 ,比如我希望我的控件随着父控件的大小的变化而变化,不需要手动更新frame ,这个时候 autosize 就应运而生了。

而autolayout 也是自适应 ,autosize 和autolayout 的最大区别在于 坐标系的不同。

autosize 基于绝对坐标,而autolayout基于相对坐标 ,

这就好比描述一个物体的位置,我们可以使用 经度,纬度来描述它 ,也可以这样描述它:“在某某大厦的对面”

autolayout 能够描述与之相关控件之间的关系 ,而autosize 则不会与相邻的控件有任何关系,因为 只要绝对坐标不改,它永远就在那里 ,不会受其他因素的干扰。

而一个很好的相对坐标却能解决很多事 ,最常见的 好比军训 向左看齐。

如果我们要移动这一列向左看齐的队伍的话,

最简单的方法就是移动最左边的那个人的位置 ,然后再说一句 “向左看齐”,这样整个队伍都移动了。

这也是autolayout的强大之处 。

时间: 2024-11-05 14:45:38

fame,autosize,autolayout 的之我见的相关文章

Android AutoLayout全新的适配方式 堪称适配终结者

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/49990941: 本文出自:[张鸿洋的博客] 一.概述 相信Android的开发者对于设配问题都比较苦恼,Google官方虽然给出了一系列的建议,但是想要单纯使用这些建议将设备很轻松的做好,还是相当困难的.个人也比较关注适配的问题,之前也发了几篇关于适配的文章,大致有: Android 屏幕适配方案 Android 百分比布局库(percent-support-lib) 解析与

Fantageek翻译系列之《使用Autolayout显示变化高度的UITableViewCell》

这篇博客主要在于,解释如何通过仅仅使用Autolayout很很少的代码,显示高度不同的Cell.虽然标题说的是TableView,但是CollectionView同样适合.但是,这种方法只使用iOS7和iOS8. 在Github上的实例代码是DynamicTableViewCellHeight. 这个Demo显示了一些名人名言,他看起来像这样: preferredMaxLayoutWidth 这种方法,主要来自于preferredMaxLayoutWidth属性.对于更多高级用法,请看Auto

Android AutoLayout全新的适配方式 堪称适配终结者(转)

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/49990941: 本文出自:[张鸿洋的博客] 一.概述 相信Android的开发者对于设配问题都比较苦恼,Google官方虽然给出了一系列的建议,但是想要单纯使用这些建议将设备很轻松的做好,还是相当困难的.个人也比较关注适配的问题,之前也发了几篇关于适配的文章,大致有: Android 屏幕适配方案 Android 百分比布局库(percent-support-lib) 解析与

如何解决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

poj2752 Seek the Name, Seek the Fame

Seek the Name, Seek the Fame Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 17348   Accepted: 8879 Description The little cat is so famous, that many couples tramp over hill and dale to Byteland, and asked the little cat to give names t

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的约束创建完毕,如图.当我们要更改约束的时候,需

Seek the Name, Seek the Fame

Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 20198   Accepted: 10515 Description The little cat is so famous, that many couples tramp over hill and dale to Byteland, and asked the little cat to give names to their newly-born babies. T

iOS AutoLayout的用法

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