ios – CGMutablePath.addArc在Swift 3中不起作用?

ios – CGMutablePath.addArc在Swift 3中不起作用?,第1张

概述在 Xcode 8 beta 6中,添加路径的一些函数发生了变化,包括添加弧的函数: func addArc(center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: Bool, transform: CGAffineTransform = default) 除了函数的定义之外,Appl 在 Xcode 8 beta 6中,添加路径的一些函数发生了变化,包括添加弧的函数:

func addArc(center: CGPoint,radius: CGfloat,startAngle: CGfloat,endAngle: CGfloat,clockwise: Bool,transform: CGAffinetransform = default)

除了函数的定义之外,Apple的网站上没有文档.我一直无法从这个函数得到一个实际的弧,并且一直依赖于使用切线的第二个版本.任何人都可以提供工作样品吗?可能只是被窃听?

这是一个由变化打破的功能:

public class func createHorizontalArcPath(_ startPoint:CGPoint,wIDth:CGfloat,arcHeight:CGfloat,closed:Bool = false) -> CGMutablePath    {        // http://www.raywenderlich.com/33193/core-graphics-tutorial-arcs-and-paths        let arcRect = CGRect(x: startPoint.x,y: startPoint.y-arcHeight,wIDth: wIDth,height: arcHeight)        let arcRadius = (arcRect.size.height/2) + (pow(arcRect.size.wIDth,2) / (8*arcRect.size.height));        let arcCenter = CGPoint(x: arcRect.origin.x + arcRect.size.wIDth/2,y: arcRect.origin.y + arcRadius);        let angle = acos(arcRect.size.wIDth / (2*arcRadius));        let startAngle = CGfloat(M_PI)+angle // (180 degrees + angle)        let endAngle = CGfloat(M_PI*2)-angle // (360 degrees - angle)        let path = CGMutablePath();        path.addArc(center: arcCenter,radius: arcRadius,startAngle: startAngle,endAngle: endAngle,clockwise: true)        if(closed == true)        {path.addline(to: startPoint)}        return path;    }
解决方法 您的Swift代码基于 http://www.raywenderlich.com/33193/core-graphics-tutorial-arcs-and-paths的Objective-C代码,
弧形路径创建为的位置

CGPathAddArc(path,NulL,arcCenter.x,arcCenter.y,arcRadius,startAngle,endAngle,0);

特别是,0作为参数传递给顺时针方向的最后一个参数bool.这应该在Swift中被翻译为false,而不是真的:

path.addArc(center: arcCenter,clockwise: false)
总结

以上是内存溢出为你收集整理的ios – CGMutablePath.addArc在Swift 3中不起作用?全部内容,希望文章能够帮你解决ios – CGMutablePath.addArc在Swift 3中不起作用?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1030219.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存