草庐IT

UIBezierPaths

全部标签

Swift自定义饼图 - 从多个Uibezierpaths削减透明圆圈的奇怪行为

使用Swift创建自定义的饼图/甜甜圈样式图,并在尝试将孔从甜甜圈中切出来时遇到一个奇怪的问题。我尝试了第二个UibezierPath的中心和半径上的变化,但是我无法从中心完成一个干净的切口孔。任何帮助将不胜感激。Uiview的子类:importUIKitpublicclassDoughnutView:UIView{publicvardata:[Float]?{didSet{setNeedsDisplay()}}publicvarcolors:[UIColor]?{didSet{setNeedsDisplay()}}@IBInspectablepublicvarspacerWidth:CGFl

objective-c - 绘制 UIBezierPaths 的程序?

我在iOS中使用UIBezierPaths制作了很多动画,并且一直在手动调整控制点,直到获得我想要的曲线。有没有我可以购买的程序,可以让我像PS钢笔工具那样用handle调整路径,然后为我映射控制点,或者有没有办法采用中绘制的曲线PhotoShop、Illustrator等,并以某种方式将其转换为UIBezierPath。我浪费了太多时间来调整这些动画,看来必须有更好的方法。UIBezierPath*runnerPath=[UIBezierPathbezierPath];[runnerPathmoveToPoint:P(1100,463)];[runnerPathaddCurveToP

ios - 在没有子类化的情况下在 UIView 中绘制 UIBezierPaths?

我是使用UIBezierPaths绘制形状的新手。到目前为止,我发现的所有示例都涉及首先对View进行子类化,然后覆盖drawRect:方法并在其中进行绘图,但我还没有找到任何可以绝对确定的内容这是在UIView中绘制UIBezierPaths的唯一方法,还是这只是最实用的方法。有没有其他方法(除了swizzling)在UIView中绘制UIBezierPath而不对其进行子类化? 最佳答案 另一种不使用drawRect绘制贝塞尔曲线路径的方法是使用CAShapeLayers。将形状层的路径属性设置为从贝塞尔路径创建的CGPath。

ios - 两个 UIBezierPaths 交集作为一个 UIBezierPath

我有两个UIBezierPath,一个表示图像的多边形部分,另一个是要在其上绘制的路径。我需要找到它们之间的交点,以便只有在这个交点区域内的点才会被着色。UIBezierPath中是否有一种方法可以找到两条路径之间的交点或新路径? 最佳答案 我不知道有什么方法可以获取两条路径相交的新路径,但您可以通过使用每条路径的裁剪属性来填充或以其他方式绘制交点。在这个例子中,有两条路径,一个正方形和一个圆:letpath1=UIBezierPath(rect:CGRect(x:0,y:0,width:100,height:100))letpat

ios - 在两个圆形 UIBezierPaths 之间设置动画时的奇怪行为

问题我正在创建爆炸环效果。我正在使用多个CAShapeLayer并为每个层创建一个UIBezierPath。初始化View时,所有层都有一条宽度为0的路径。触发Action时,环会动画到更大的路径。如下面的演示所示,每个图层的右手边缘比每个圆形图层的其余部分更慢地设置动画。演示代码绘制图层:funcdraw(inViewview:UIView)->CAShapeLayer{letshapeLayer=CAShapeLayer()//size.widthdefaultsto0letcirclePath=UIBezierPath(arcCenter:view.center,radius:s