我已将 CALayer 添加到执行以下操作的图像中:

var menulayer = CALayer()
menulayer.frame = CGRectMake(0.0, 0.0, menuimage.frame.size.width, menuimage.frame.size.height);
            menulayer.backgroundColor = bartint.CGColor
            menulayer.opacity = 1
            menuimage.layer.addSublayer(menulayer)

我想为图层设置动画,以便它从左到右显示图像。我试过这个:
            let width = CGFloat(0)

            CATransaction.begin()
            CATransaction.setAnimationDuration(2.0)
            self.menulayer.bounds = CGRectMake(0, 0, width , 50)
            CATransaction.commit()

但是动画从图像的中心开始,如何让它从图像的左边缘开始?

最佳答案

因此,为图层的原点设置动画以将其向右移动,直到您的 ImageView 完全显示为止。您需要设置 menuImage.layer.masksToBounds = true 以便覆盖层在滚动出 ImageView 的框架时不可见。

关于ios - 在 Swift 中使用动画调整 CALayer 的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31630633/

10-09 07:05