iOS-layout动画细节问题

 

 

 比如如上所述的动画由下方往上递增

通常做法很简单 UIView.animate基础动画,高度从1到max,完成。

如果不追究细节,那么上述做法已经可以交差,可是细想一下总感觉动画弹出方式有点差劲,我们可以对此稍微优化一番,先分析下为何会出现这样的问题。

问题:

动画弹出时,内容从左下到中上  frame从0,0,0,0 到 0.5,1,1,1

预期:

动画弹出时,内容从中下到中上 frame从0.5,0,0,0 到 0.5,1,1,1

其实出现这样的问题是由于frame的不断改变造成的,以当前我们想实现的这种效果为例,主要思路就是去按动画的演变形式去改表frame。

layout大家布局的方式大多都是edg四边拉伸,所以初始化的view的大小是0,0.它的动画演变就不得已从左下方开始以倾斜的中线角度去显示,这不是我们想要的效果。

这里我还是推荐使用frame布局去展示这里的动画,仅仅是这种动画显示的view,在didlayoutframe里面去设置最终的frame(注意:didlayoutframe会多次调用,不要在这里addsubview)。这样就能得到你想要的效果。

另外,也可以尝试修改layout的布局方式,由原先的edg四边设置,考虑加上默认的宽度或高度,这里根据动画的需求去设置,可以尝试一下,感觉是可行的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值