浅谈autoresizing和autolayout的区别以及注意事项

1、autoresizing:

               autoresizing使用用来描述 父控件与子控件之间的关系,而不能描述同级控件或者非父子控件关系的其他级控件约束关系。

              通过6根线来描述约束关系。默认为 上左反向的线。表示上、左与父控件间距不变。其他方向和宽高自由。(随父控件变化而变化)。

              这6根线搞明白,基本autoresizing就懂了。这里就不一一解释啦。

                现在一般情况不使用autoresizing了。


使用注意事项:在使用Xib或者SB时,Xcode默认是autolayout。需要取消勾选。在尺寸检测器中,就可以直接设置。

                          在代码创建过程中,Xcode默认是autoresizing。 直接设置就好啦。

               当约束确定后可以修改frame。

2、autolayout :

               autolayout 不仅可以描述子父控件关系,也可以描述同级以及其他级的控件约束关系。

              具体使用,就在如图的位置设置就好。多的我也不说啦。

使用注意事项:在Xib和SB的情况下应该不会出现太多的问题,除非约束设置错误。

                        在代码创建的时候,约束添加到哪里这个很重要,记住一个原则除了自身属性约束,其他约束都加在“共同父控件”中。大概解释一下这个“共同父控件”。意思就是:如果A->B->C ,D->E->C 。A和D的共同父控件就为C。

                        在或者:A->B->C. A和B的共同父控件是C。 这样大概意思应该是差不多了。

                        还有一个就是因为代码创建时,Xcode默认是autoresizing,说以需要关掉做约束对象控件的Autoresizing。

          重点:当使用autolayout布局完成后不能直接修改控件的Frame,可以通过设置该控件使用autoresizing。

                      self.myScroll.translatesAutoresizingMaskIntoConstraints = YES;  然后再去修改frame。

                   

                          Masnory的使用和Autolayout的注意是一致的。


     布局这一块有一个大坑,最近可能会更一个关于scrollView的布局问题。

      以上是鄙人的一些粗浅的见解,如果有大牛觉得哪里不对,希望及时纠正,可以QQ我(285160304),也可以博客直接留言。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值