AutoLayout好多好多不懂的 终于明白了

 AutoLayout这玩意越用越上瘾    自从我学会了这个  还是那句话 能不用代码就不用代码 

这篇文章不讲解AutoLayout 怎么使用  只是总结下最近学的东西 和更多你不知道的细节总结


本文大致讲解个部分


1 . UIStackView

2. AutoLayout与Frame的关系

3.AutoLayout动画



1 UIStackView

先推荐点资料  

UIStakView入门   iOS 9新功能 具体支持到几我不清楚 

看完这个你以后布局更方便了  

举个例子 AutoLayout分分钟搞定等比例布局 之前我的帖子这样做

现在有了更简单的






2. AutoLayout与Frame的关系

曾经有次我被面试官问了一个面试题     如果你用了AutoLayout 再修改Frame 会有什么效果 有没有什么不好的

看这问题 所有人都能猜到肯定有不好的  但是具体也不知道是啥  


看demo  一个view



3.AutoLayout动画


如果你用了AutoLayout  那么做动画的时候  你就不要再操作 Frame  bounds center  等position属性

因为这些动画都是临时的  下次的View 被 setNeedsUpdateConstraint  这些全都失效   

但是其他的可动画属性(Animation Properties) 还是可以的 如 Color  alpha等 


1. 更新约束的内容  





针对 Constraint 一掉要调用LayoutIfNeed()  不然会造成不可预料的结果。  有可能下一刻动画剩下  也有可能然并卵       在NSLayoutConstraint中  唯一可变的 也就是 可set 可 get的属性就    constant 

像其他FirstItem等是不可修改的      所以如果要修改参考物参看 下面的方法 


2 .  替换约束的动画 








添加约束可以通过  

self.view.addConstraint(<#T##constraint: NSLayoutConstraint##NSLayoutConstraint#>)

self.view.addConstraints(<#T##constraints: [NSLayoutConstraint]##[NSLayoutConstraint]#>)


在iOS 8中有更好的方法  newConstraint.active=true 就可以

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值