使用一段以下列方式获取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。
欢迎解释和示例。
答案 0 :(得分:1)
您可以使用CGPath(rect: CGRect, transform: UnsafePointer<CGAffineTransform>?)
并在nil
中传递CGAffineTransform
,这是可选的
let dirX = -spread
let rect = bounds.insetBy(dx: dirX, dy: dirX)
let cgPath = CGPath(rect: rect, transform: nil)
但这对您的应用功能没有任何影响,即使在代码数量上也是如此,因为无论如何都是一行