理解AutoResizing背后的逻辑

17 篇文章 0 订阅
1 篇文章 0 订阅
对autoresizing中间的六条线不是很理解,虽然知道他们的名字,但是还是不太理解背后的逻辑。自己探索了一下,没有找官方资料验证,旨在把自己的思考记录下来。其中一部分逻辑是我的猜测,但肯定对理解autoresizing有帮助。 首先启用autoresizing后,autoresizing将根据view的父view进行自动化布局调整(上下左右宽高),既然是调整那么就肯定有个参照,或者说依照,或者说默认情况下的操作。例如下图,我们将此情况称作“默认状态“,在此状态下,view对于父view的布局为:宽高不变,上下左右“自动“调整,此处自动即为按比例调整view.center的值。 举个例子,在4寸屏幕正中放置一个100x100pix的图片,那么到4.7,5.5屏幕中,这个图片仍保持100x100的大小,并且仍然居中屏幕。

理解图中的六条限制,或者说六个动作,不妨将六条线全部未激活的状态,即默认状态,看作autoresizing不对view进行强制调整。或许你说view.center的值已经变了啊,为什么还说默认状态下不对view的布局进行调整呢?我觉得默认状态下的调整是比较合理的,首先不拉伸view,不会产生变形或失真的情况;其次,手机app多数view都是以居中的形式存在的。所以将不改变view的宽高,按比例调整view.center应用场景最为广泛,便将这种情况作为默认情况。当然,以上是我的猜测,暂时没有查找证据。不过以默认情况下,认为autoresizing“不调整“view的布局,那么我们可以很轻松的理解autoresizing的逻辑了,即:激活哪一条“线“,则autoresizing将对该“线“进行调整
例如,激活了四周间距,则四周间距将固定,不再按默认情况下缩放。激活了内部宽高,则宽高将被拉伸,不再按默认情况下固定。其他组合也可以用这个方式进行理解。


太晚了,后面有时间详细补充一些组合的情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值