15.第二步+第三步:填充stub图片到用户logo+Q弹动画
这一步就简单了很多,只是一个将stub图片放大的操作,但是别忘了:你真正要显示的是UserLogoRow里面的logoView而不是stub图片,所以这还涉及到一个“显示+删除”的过程。
我们首先要确定的是:要将stub图片放大多少倍???
这个看似很简单的问题,其实有点小难度,因为你要考虑到logoView图片轮廓线的宽度:
对于这个公式的推导,本猫猪很荣幸的回顾了一下小学几何的知识 ;)
即我们实际放大的倍数是:
(大圆半径 / 2 - 轮廓线宽度) / (小圆半径 / 2)
所以本猫决定马上在注释1后面添加这个“来之不易”公式的计算代码:
let scale = (logoRow.cell.logoView!.bounds.width/2.0 - 5) / (stubFrame.width / 2.0)
现在可以来从容实现stub图片扩展动画了,别忘了我们还需要扩展结束的一个Q弹效果,这可以很轻易的利用弹性动