草庐IT

UIBezierpath

全部标签

ios - Swift:如何向封闭的 CGPath 添加点?

我想让SKSpriteNodes沿着字母轮廓移动。我有很多封信,但这里有一个例子:我希望Sprite沿着红线移动。我发现这个答案主要涵盖了我的问题:GetpathtotraceoutacharacterinaniOSUIFont答案来自这个良好且有效的示例代码:letfont=UIFont(name:"HelveticaNeue",size:64)!varunichars=[UniChar]("P".utf16)varglyphs=[CGGlyph](count:unichars.count,repeatedValue:0)letgotGlyphs=CTFontGetGlyphsFor

ios - swift:如何通过 MapKit 在 map 上绘制弧线?

我必须绘制一个具有两个角度的圆弧,圆心点和半径作为输入。我使用UIBezierPath,但叠加层未添加到map中。这是我的代码:funccalculateByArc(){letstartingAzimuth=Double(upperLimitTextBox.text!)letendingAzimuth=Double(upperLimitUomTextBox.text!)letradius=Double(lowerLimitTextBox.text!)letlatitude=Double(lowerLimitUomTextBox.text!)letlongitude=Double(tex

ios - 使用 UIBezierPath 绘制像仪表一样的半圆形图像...!

我的ViewController代码包含以下代码classViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()letwidth:CGFloat=240letheight:CGFloat=240letdemoView=DemoView(frame:CGRect(x:self.view.frame.size.width/2-width/2,y:self.view.frame.size.height/2-height/2,width:width,height:height))letsubVi

ios - 在运行的动画中检索点击的 UIButton,它可以稍微离开屏幕

这就是代码(下面)的样子:importUIKitclassTornadoButton:UIButton{overridefunchitTest(_point:CGPoint,withevent:UIEvent?)->UIView?{letpres=self.layer.presentation()!letsuppt=self.convert(point,to:self.superview!)letprespt=self.superview!.layer.convert(suppt,to:pres)returnsuper.hitTest(prespt,with:event)}}class

ios - 在 Swift 4 中移动 UIBezierPath 笔划的最佳方式是什么?

我正在尝试实现一个可以使用UIBezierPath笔划在Swift4中更改位置的光标。目前,我有一个函数,它有一个参数位置,其中包含“光标”的新x和y位置。我想将此位置参数用作UIView中光标的新位置。每次调用该函数时,我当前的实现都会呈现另一个光标。有没有办法改变UIBezierPath的一个实例的位置?请参阅下面的示例代码以供引用。privatevarcursor:UIBezierPath=UIBezierPath()publicfuncchangeCursorLocation(location:ScreenCoordinates){self.cursor=UIBezierPat

ios - 用侧曲线 UIBezierPath 画一条对角线

我想像下面这样用侧曲线画对角线代码:funcdrawCanvas1(frame:CGRect=CGRect(x:0,y:0,width:240,height:120)){////BezierDrawingletbezierPath=UIBezierPath()UIColor.black.setStroke()bezierPath.lineWidth=1bezierPath.stroke()////Bezier2Drawingletbezier2Path=UIBezierPath()bezier2Path.move(to:CGPoint(x:frame.minX+0.5,y:frame.

swift - 根据百分比填充描边颜色,即 80%、70% 或任何其他百分比

我创建了一strip有灰色描边颜色的贝塞尔曲线路径。但是我需要在同一条路径上用橙色覆盖橙色,并根据要填充的路径的百分比,如70%、80%或任何其他值letcirclePath=UIBezierPath(arcCenter:CGPoint(x:view.frame.size.width/2,y:view.frame.size.height),radius:CGFloat(25),startAngle:CGFloat(Double.pi),endAngle:CGFloat(0),clockwise:true)print(circlePath)letshapeLayer=CAShapeLay

ios - 我如何获得 uibezierPath 的面积和周长,因为 fill() 方法使用了封闭区域

因为UIBeizerPath支持fill()来填充封闭区域。我的要求是如何从UIBeizerPath()获取封闭区域,与fill()方法使用的相同。如果我能在求beizerpath的面积和周长方面得到帮助,我将不胜感激。假设我想获取字母“A”中的封闭区域,我可以获得所有beizerPathCGPoints但无法定义子路径,因为evenOdd规则用于获取所需的字段属性,最后得到面积。我很好奇fill()是如何得到封闭区域的。我得到了字体的beizerPathsolution并希望获得由此绘制的任何字体的区域。我怎样才能做到这一点。 最佳答案

ios - 将 UIImage 剪辑到 UIBezierPath(不屏蔽)

我正在尝试根据给定的UIBezierPath裁剪UIImage,但生成的图像保留了原始形状和大小。我希望形状和大小类似于路径,即新图像的可见内容。看看下面这个例子:以下是我用来屏蔽给定路径的图像的代码:funcimageByApplyingClippingBezierPath(_path:UIBezierPath)->UIImage{UIGraphicsBeginImageContextWithOptions(CGSize(width:size.width,height:size.height),false,0.0)letcontext=UIGraphicsGetCurrentCont

swift - 使用自动布局绘制 CAShapeLayer

我正在尝试使用CAShapeLayer绘制圆形按钮并为其设置动画,但只是绘图让我很头疼-我似乎无法弄清楚如何将数据传递到我的类中。这是我的设置:-一个UIView类型的类,它将绘制CAShapeLayer-View在我的ViewController中呈现并使用自动布局约束构建我曾尝试使用layoutIfNeeded但似乎传递数据为时已晚,无法绘制View。我也试过在vieWillLayoutSubviews()中重绘View,但没有。下面的示例代码。我究竟做错了什么?我是否过早/过晚传递数据?我绘制bezierPath是否为时已晚?我非常感谢指针。也许还有第二个后续问题:是否有更简单的