斯威夫特把阴影画成了一条uibezier路径

斯威夫特把阴影画成了一条uibezier路径,第1张

概述我有一个奇怪的问题.虽然我确实阅读了很多关于如何做到这一点的教程,但最终结果只显示了贝塞尔线,而不是任何阴影.我的代码非常简单: let borderLine = UIBezierPath() borderLine.moveToPoint(CGPoint(x:0, y: y! - 1)) borderLine.addLineToPoint(CGPoint(x: x! 我有一个奇怪的问题.虽然我确实阅读了很多关于如何做到这一点的教程,但最终结果只显示了贝塞尔线,而不是任何阴影.我的代码非常简单:

let borderline = UIBezIErPath()        borderline.movetoPoint(CGPoint(x:0,y: y! - 1))        borderline.addlinetoPoint(CGPoint(x: x!,y: y! - 1))        borderline.linewidth = 2        UIcolor.blackcolor().setstroke()        borderline.stroke()        let shadowLayer = CAShapeLayer()        shadowLayer.shadowOpacity = 1        shadowLayer.shadowOffset = CGSize(wIDth: 0,height: 1)        shadowLayer.shadowcolor = UIcolor.redcolor().CGcolor        shadowLayer.shadowRadius = 1        shadowLayer.masksToBounds = false        shadowLayer.shadowPath = borderline.CGPath        self.layer.addSublayer(shadowLayer)

我做错了什么,因为我似乎没有看到任何错误但当然我错了,因为没有阴影出现.函数是drawRect,基本的UIVIEw没有任何额外的东西,x和y是框架的宽度和高度.提前谢谢了!

解决方法 我直接从我的PaintCode应用程序中获取此示例.希望这可以帮助.

//// General Declarationslet context = UIGraphicsGetCurrentContext()//// Shadow Declarationslet shadow = UIcolor.blackcolor()let shadowOffset = CGSizeMake(3.1,3.1)let shadowBlurRadius: CGfloat = 5//// BezIEr 2 Drawingvar bezIEr2Path = UIBezIErPath()bezIEr2Path.movetoPoint(CGPointMake(30.5,90.5))bezIEr2Path.addlinetoPoint(CGPointMake(115.5,90.5))CGContextSaveGState(context)CGContextSetShadowWithcolor(context,shadowOffset,shadowBlurRadius,(shadow as UIcolor).CGcolor)UIcolor.blackcolor().setstroke()bezIEr2Path.linewidth = 1bezIEr2Path.stroke()CGContextRestoreGState(context)
总结

以上是内存溢出为你收集整理的斯威夫特把阴影画成了一条uibezier路径全部内容,希望文章能够帮你解决斯威夫特把阴影画成了一条uibezier路径所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1001609.html

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

发表评论

登录后才能评论

评论列表(0条)

保存