草庐IT

UIBezierpath

全部标签

ios - 圆形 BezierPath 相对于给定的进度值填充太多 - iOS Swift

我有一个循环的UIBezierPath和2xCAShapeLayers,我用它来显示我的一个应用程序中特定里程碑的进度。问题:当我通过CABasicAnimation为进度设置动画时,进度超出了它应该做的事情。上下文:我在milestonesCollectionView内的自定义单元格的subview中显示此circularView。ViewHierarchy:CollectionView>CustomCell>subview>drawRect以在其中创建和添加图层。我的代码:自定义单元格在我的自定义单元格中,我设置了currentProgress(为了测试目的而硬编码)letplac

ios - UIBezierPath子类初始化器

我正在尝试创建UIBezierPath的子类,以添加一些对我有用的属性。classMyUIBezierPath:UIBezierPath{varselectedForLazo:Bool!=falseoverrideinit(){super.init()}/*CompileError:Mustcalladesignatedinitializerofthesuperclass'UIBezierPath'*/init(rect:CGRect){super.init(rect:rect)}/*CompileError:Mustcalladesignatedinitializerofthesup

ios - 理解 UIBezierPath 曲线机制、controlPoint 和曲线点

我正在尝试使用UIBezierPath绘制一个简单的抛物线形状。我有一个maxPoint和一个boundingRect,我基于抛物线的宽度和拉伸(stretch)。这是我绘制抛物线的函数(我在容器View中绘制抛物线,rect将是container.bounds):funcaddParabolaWithMax(maxPoint:CGPoint,inRectboundingRect:CGRect){letpath=UIBezierPath()letp1=CGPointMake(1,CGRectGetMaxY(boundingRect)-1)letp3=CGPointMake(CGRect

Swift 将阴影绘制到 uibezierpath

我有一个奇怪的问题。尽管我确实阅读了很多关于如何执行此操作的教程,但最终结果只显示了贝塞尔线,没有任何阴影。我的代码非常简单:letborderLine=UIBezierPath()borderLine.moveToPoint(CGPoint(x:0,y:y!-1))borderLine.addLineToPoint(CGPoint(x:x!,y:y!-1))borderLine.lineWidth=2UIColor.blackColor().setStroke()borderLine.stroke()letshadowLayer=CAShapeLayer()shadowLayer.s

ios - UIBezierPath + CAShapeLayer - 制作一个充满圆圈的动画

这个问题在这里已经有了答案:Drawpartofacircle(8个答案)iPhoneCoreAnimation-DrawingaCircle(4个答案)iOS:HowtodrawacirclestepbystepwithNSTimer(2个答案)关闭5年前。我正在尝试为CAShapeLayer的路径设置动画,以便获得“填充”到特定数量的圆圈的效果。问题它“有效”,但并不像我认为的那样AS平滑,我想对其进行一些缓和。但是因为我正在单独为每个%制作动画,所以我不确定现在是否可行。所以我正在寻找可以解决这个问题的替代方案!视觉解释首先——这是我试图实现的动画的一些“帧”(参见图片——圆圈填

swift - Swift 3 中的动画曲线

我想画一些贝塞尔曲线,我想用波浪效果为它们制作动画,例子您对我如何做到这一点有什么想法吗?贝塞尔线是最好的方法吗?为此我只找到了2个库,但它们对我需要的东西并不是很有用,我尝试修改一个库的代码,不幸的是没有成功https://github.com/yourtion/YXWaveView我找到了这个库,https://antiguab.github.io/bafluidview/哪个起作用了,但它是用obj-c编写的,也许你在swift中知道这样的东西 最佳答案 您可以使用displaylink,一种针对屏幕刷新率优化的特殊计时器,用

ios - 如何在 iOS 中使用 SVGKit 将 SVG 路径组件解析为 UIBezierPath?

我正在使用Swift在iOS中为SVG图像制作动画。我已经能够使用SVGKit(https://github.com/SVGKit/SVGKit)轻松渲染SVG,但要为其设置动画,我需要将SVG路径元素转换为UIBezierPath。我可以使用其他库来这样做,但如果我可以单独使用SVGKit来完成所有这些,那就太好了。我也没有找到任何直接获取路径元素的方法。 最佳答案 我在使用Swift和使用SVGKit时遇到了同样的问题。即使遵循此simpletutorial并将其转换为swift,我可以渲染SVG但不能为线条图设置动画。对我有用

ios - 如何使用 UIBezierPath 更改元素的颜色?

第一篇关于stackoverflow的帖子,首先,你好!我是第一次尝试Swift,我正在做一个项目,只是需要一些帮助来解决我遇到的问题。我有一个使用UIBezierPath的圆圈,我想动态地改变它的颜色。但是,当我尝试对颜色进行“硬编码”时,我无法改变它。我试过在这里看:HowtochangethecolorofaUIBezierPathinSwift?,但它没有回答我的问题。但是,我确实看到那里的一个答案确实指出贝塞尔曲线路径没有颜色。如果是这样,那么我将如何着手改变沿其路径的圆圈的颜色?这是我正在使用的代码:outerCircle.path=UIBezierPath(ovalInR

ios - CAShapeLayer 左上角缺少像素

我正在使用一个带有UIBezierPath的CAShapeLayer在View中绘制一个带边框的框。这工作正常,但第一个像素(顶部,左侧)未绘制。这是我的代码:letfocusSize=CGRect(x:focusX,y:focusY,width:focusWidth,height:focusHeight)letfocusPath=UIBezierPath(roundedRect:focusSize,cornerRadius:0)letborderLayer=CAShapeLayer()borderLayer.path=focusPath.cgPathborderLayer.fillC

ios - 使用 UIBezierPath 屏蔽 UIView - 仅描边

更新02有一个可行的解决方案...我正在尝试将UIBezierPath的描边用作另一个UIView上的mask。例子很多,但都是用fill来裁剪View。我试图只使用路径的笔触,但它显示不正确。下面是我目前在Swift3.x中的内容:letbezierPath=UIBezierPath()bezierPath.move(to:CGPoint(x:0,y:0))bezierPath.addLine(to:CGPoint(x:100,y:100))bezierPath.addLine(to:CGPoint(x:200,y:50))bezierPath.addLine(to:CGPoint(