繁体   English   中英

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

[英]Resize a CALayer with animation in Swift

我已将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因此当它从图像视图的框架中滚出时,覆盖层不可见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM