Tag: 剪辑

使用贝塞尔path作为剪贴蒙版

我想知道是否有可能将视图剪辑到贝塞尔path。 我的意思是,我只想看到封闭的贝塞尔path内的地区的景色。 其原因是我有一个不规则形状的轮廓,我想从上到下逐渐用一个纯色填充形状。 如果我可以使某个视图只在path中可见,那么我可以简单地创build一个我想要的颜色的UIView,然后根据需要更改其框架的y坐标,从而有效地填充形状。 如果任何人有什么更好的想法如何实现这将不胜感激。 为了logging形状的填充将匹配用户手指的y值,所以它不能是连续的animation。 谢谢。 更新(很长时间后): 我试过你的答案,罗布,除了一件事外,它的效果很好。 我的意图是将掩码移动到屏幕上的同一位置。 这样我就可以给人以视觉上“填满”面具的印象。 问题是,根据你的回答我写的代码,当我移动视图时,面具随之移动。 我知道这是可以预料的,因为我所做的只是把它作为视图的掩码,所以如果它绑定的东西移动,它就会移动。 我试图添加面具作为superview的子层,以便它保持放置,但是那有非常奇怪的结果。 这是我的代码: self.test = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; self.test.backgroundColor = [UIColor greenColor]; [self.view addSubview:self.test]; UIBezierPath *myClippingPath = [UIBezierPath bezierPath]; [myClippingPath moveToPoint:CGPointMake(100, 100)]; [myClippingPath addCurveToPoint:CGPointMake(200, 200) controlPoint1:CGPointMake(self.screenWidth, 0) controlPoint2:CGPointMake(self.screenWidth, 50)]; [myClippingPath closePath]; CAShapeLayer *mask = [CAShapeLayer layer]; mask.path = myClippingPath.CGPath; self.test.layer.mask […]