我有一个UIImageView基本上是痣。我希望这颗痣从洞中弹出。因此,实际上我要记住的是,我将在孔下方的某些点上创建一个痣,并在其上设置蒙版,然后为图像视图设置动画,使其看起来像从孔中弹出。因此,按照这种想法,我写下了以下代码:
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
CGRect maskRect = _moleIcon.frame;
CGPathRef path = CGPathCreateWithRect(maskRect, NULL);
maskLayer.path = path;
CGPathRelease(path);
_moleIcon.layer.mask = maskLayer;
[UIView animateWithDuration:2.0 animations:^(void){
_moleIcon.transform=CGAffineTransformMakeTranslation(0, 50);
}];
但是问题是,遮罩本身似乎随着实际的UIImageView移动。任何帮助将不胜感激。
最佳答案
尝试使用2个UIView,只需将maskView放在最前面:
[superview bringSubviewToFront:maskView];
并为蒙版视图设置背景颜色和alpha属性,
maskView.backgroundColor = [UIColor blackColor];
maskView.alpha = 0.8;
现在您可以直接移动2视图。
但最好将2个视图添加到其他视图-容器中,然后旋转此一个视图。