ios – 在Swift中使用动画调整CALayer的大小

我已将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()

但是动画从图像的中心开始,我怎样才能从图像的左边缘开始?

最佳答案 因此,为图层的原点设置动画,将其移动到右侧,直到完全显示图像视图.您需要设置menuImage.layer.masksToBounds = true,因此当它从图像视图的框架中滚出时,覆盖层不可见.

点赞