草庐IT

CAshapeLayer

全部标签

ios - 如何为 CAShapeLayer 绘制圆点描边图案?

我正在尝试使用破折号模式在CAShapeLayer中描边路径。我使用lineDashPattern属性创建了许多破折号图案。但是这个属性没有为划线类型提供任何选项。我想让我的破折号成为圆点,如下图所示:我知道这是可以实现的,因为我在很多应用中都看到了这一点。但是我无法在CAShapeLayer库中找到任何方法来实现它。所以我想知道如何获得这些圆点破折号图案? 最佳答案 您所要做的就是为您的CAShapeLayer的lineCap属性设置kCALineCapRound,然后设置您的lineDashPattern到[0.0,x],例如,

ios - 完全删除 UIBezierPath 和 CAShapeLayer 绘制的项目

在纵向模式下(第一次绘图)旋转成横屏后,为什么是旧的形状:我正在使用UIBezierPath和CAShapeLayer在自定义UIView层中绘制圆和线。问题是尽管能够在设备旋转后成功绘制新的圆圈和线条,但我无法删除旧绘制的形状。设备旋转后绘制的新形状是完美的,我只需要从屏幕上移除那些粘在屏幕上的旧形状。附上图片。 最佳答案 您可以删除之前的CAShapeLayer(使用removeFromSuperlayer)或者替换之前的CAShapeLayer的path.您似乎在添加一个新层而不删除旧层,但当然如果没有源代码就无法分辨。

iphone - 将 CAShapeLayer 蒙版应用于 UIView

我正在使用此代码将图层应用于UIview:mask=[[CAShapeLayeralloc]init];mask.frame=baseView.layer.bounds;CGRectbiggerRect=CGRectMake(mask.frame.origin.x,mask.frame.origin.y,mask.frame.size.width,mask.frame.size.height);CGRectsmallerRect=CGRectMake(0.0f,0.0f,0.0f,0.0f);UIBezierPath*maskPath=[UIBezierPathbezierPath];

iphone - UIView 子类中使用的 CAShapeLayer 不起作用

我尝试了几个小时来使用CAShapeLayer在我的UIView周围添加一个虚线边框,但我没有显示它。ScaleOverlay.h#import#import@interfaceScaleOverlay:UIView{CAShapeLayer*shapeLayer_;}@endScaleOverlay.m-(id)initWithFrame:(CGRect)frame{self=[superinitWithFrame:frame];if(self){self.backgroundColor=[UIColorredColor];self.alpha=0;//Roundcorners[[s

ios - 使用 CAShapeLayer 对象用 Bezierpath 画一条线

我正在制作一个图像编辑器,它可以创建不同形状的对象,例如圆形、三角形和正方形,它们也可以更新或删除。所以我使用CAShapeLayer创建形状对象。现在我还想在图像上画一条线,它也可以更新或删除,所以我使用bezierpath和CAShapeLayer来创建线,它工作正常。但是现在的问题是,当我想选择任何现有的线时,可以选择任何靠近线工具的地方,因为CAShapeLayer还设置了填充区域,这将是从起点到终点的直线.我的问题是如何使用CAShapeLayer创建没有填充区域的线。这是我创建行的代码:CAShapeLayer*line=[CAShapeLayerlayer];//Usin

ios - 如何准确地在图像图案上画线

我有一个UIImageView。在里面我正在画一条线机智用户触摸事件。问题是可以在UIImageview的任何地方画线,但我喜欢只用图像模式画线。例如,看这张图片。我只需要在图像图案上画线。这是我的代码:-(void)touchesMoved:(NSSet*)toucheswithEvent:(UIEvent*)event{UITouch*touch=[[eventallTouches]anyObject];touchPoint=[touchlocationInView:self.imgColor];UIBezierPath*path=[UIBezierPathbezierPath];

ios - CAShapeLayer 动画路径故障/闪烁(从椭圆到矩形再返回)

当我创建显式动画以将CAShapeLayer的路径值从椭圆更改为矩形时,我遇到了问题。在我的CanvasController中,我设置了一个基本的CAShapeLayer并将其添加到RootView的层:CAShapeLayer*aLayer;aLayer=[CAShapeLayerlayer];aLayer.frame=CGRectMake(100,100,100,100);aLayer.path=CGPathCreateWithEllipseInRect(aLayer.frame,nil);aLayer.lineWidth=10.0f;aLayer.strokeColor=[UIC

swift - 仅当触摸位于自定义形状内时,如何使 UIScrollView 可滚动?

我正在开发一个图像拼贴应用程序。我将拥有多个UIScrollView。ScrollView将具有自定义形状的边界,用户将能够动态更改形状相交的角。ScrollView有UIImageView作为subview。ScrollView是其他UIView的subview。我为每个UIView应用了一个CAShapeLayer掩码。这样我就可以毫无问题地屏蔽ScrollView。但问题是,我只能滚动最后添加的ScrollView的内容。此外,我可以平移和缩放到mask边界之外。当我触摸作为mask的多边形边界内部时,我应该只能平移或缩放。我试过了;scrollView.clipsToBound

ios - UIBezierPath 和 CAShapeLayer 不创建角线

这是我的代码publicfuncsetMaskTo(setMask:UIView,corner:UIRectCorner)->Void{letround=UIBezierPath(roundedRect:setMask.bounds,byRoundingCorners:corner,cornerRadii:CGSize(width:10,height:10))letshape=CAShapeLayer()shape.frame=round.boundsshape.path=round.cgPathsetMask.layer.mask=shape}setMaskTo(setMask:se

ios - CAShaperLayer 作为蒙版仅显示 UIView 的 1/4

我尝试让UIView显示锯齿形底部边缘。类似于http://www.shutterstock.com/pic-373176370/stock-vector-receipt-vector-icon-invoice-flat-illustration-cheque-shadow-bill-with-total-cost-amount-and-dollar-symbol-abstract-text-receipt-paper-isolated-on-green.html?src=zMGBKj_5etMCcRB3cKmCoA-1-2我有创建路径并设置为mask的方法,但它显示为View的1/4