CGPath против UIBezierPath - PullRequest
       65

CGPath против UIBezierPath

0 голосов
/ 27 апреля 2018

Работа с фрагментом кода, который получает 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>)

Но я не уверен, просто ли получить тот же CGPath напрямую с init, потому что я не уверен, как использовать UnsafePointer.

Пояснения и примеры приветствуются.

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете использовать 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)

Но это не окажет никакого влияния на работу вашего приложения, даже на объем кода, потому что в любом случае это одна строка

...