如何对使用了autolayout的UIView添加动画

       


hi,all:

在经过了一番犹豫之后,我决定将我自己做的这个小APP的源码公布给大家:

其出发点是和大家一起学习iOS开发,仅供学习参考之用。之前代码是托管与gitlab

上的,今天我将其pull到github上来了,大家可以自行下载:git clone [email protected]:lihux/twentyThousandTomatoes.git没有安装git或者不会用的童鞋,

请猛戳github地址:https://github.com/lihux/twentyThousandTomatoes,进去之后选

择download zip下载即可。

 

当我们对一个UIView使用了autolayout自动布局之后,也就意味着我们放弃了

传统的通过设置view的frame等方式手动的修改、确定这个view的位置、尺寸属性

甚至从某种程度上讲,我们应该忘记view的frame属性:它的确定不再取决于我

(手动的直接修改),而是通过我们在storyboard或者code中提供的约束条件

(constraints),通过一个自动布局引擎(苹果为autolayout采用的是Cassowary

布局引擎,参考文档:点击打开链接),算出这个view的frame。因此我们可以

认为使用了autolayout的view的frame属性是一个只的属性。在代码里认为的改动

这个view的frame并不能对这个view的frame产生真正的效果(事实也确实如此)。

      现在问题就来了,在以前我们经常通过对一个view的frame的修改产生view移动

的动画效果,那么在使用了autolayout的view世界中我们该如何实现相同的效果呢?

答案是,我们“将计就计”,通过改变这个view上的某个约束constraint然后在uiview的

animation block中触发layout来实现。

一、预期效果

        下面我们以一个简单的例子来进行详细的说明:

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值