【问题标题】:CGPath vs UIBezierPathCGPath 与 UIBezierPath
【发布时间】:2018-04-27 06:01:15
【问题描述】:

使用以下方式获取 CGPath 的一段代码:

let dirX = -spread
let rect = bounds.insetBy(dx: dirX, dy: dirX)
let cgPath = UIBezierPath(rect: rect).cgPath

有没有办法可以直接使用该矩形来获取 CGPath?

我知道有

CGPath(rect: CGRect, transform: UnsafePointer<CGAffineTransform>)

但我不确定直接用init获得相同的CGPath是否简单,因为我不确定如何使用UnsafePointer。

欢迎解释和示例。

【问题讨论】:

    标签: ios swift uibezierpath cgpath


    【解决方案1】:

    您可以使用CGPath(rect: CGRect, transform: UnsafePointer&lt;CGAffineTransform&gt;?) 并在CGAffineTransform 中传递nil 作为可选

    let dirX = -spread
    let rect = bounds.insetBy(dx: dirX, dy: dirX)
    let cgPath = CGPath(rect: rect, transform: nil)
    

    但这不会对您的应用程序运行产生任何影响,即使是代码量也是如此,因为无论如何都是一行

    【讨论】:

    • 哈哈所以,我的代码最初没有使用 CGPath 创建与使用 UIBezierPath(rect: rect).cgPath 相同的效果的原因是因为我发现了另一个错误。我很困惑 XD 标记为正确,因为它是
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多