ОБРАТИТЕ ВНИМАНИЕ, что я много смотрел везде, но не смог найти решение.
Используя Раскадровка , у меня есть ViewController, с View (UIView) и Subview (PKCanvasView), где я хочу использовать PencilKit для рисования на последнем.
_
Мои цели :
Ничья только на этом PKCanvasView
Получите координаты в реальном времени, где я рисую на PKCanvasView
My результаты :
Я могу рисовать на PKCanvasView , только если я начинаю с этого вида, и я могу рисовать только в пределах кадр этого PKCanvasView . Это хорошо.
Мне удается только получить координаты места, где я касаюсь экрана ЕСЛИ Я запускаю жест на UIView . НО Не , если я сначала коснусь PKCanvasView .
Моя проблема :
Как сделать Я получаю координаты того, где я рисую на PKCanvasView?
-
Ниже мой код :
import UIKit
import PencilKit
class ViewController: UIViewController {
@IBOutlet weak var labelText: UILabel! //Label object to display the coordinates
@IBOutlet weak var canvasView: PKCanvasView! //Subview to draw on
override func viewDidAppear(_ animated: Bool) {
canvasView.tool = PKInkingTool(.pen, color: .black, width: 10)
}
// MARK: FUNCTIONS //
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
touches.forEach { (touch) in
updateGagues(with: touch)
}
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
touches.forEach { (touch) in
updateGagues(with: touch)
}
}
private func updateGagues(with touch: UITouch) {
let location = touch.preciseLocation(in: view)
labelText.text = location.debugDescription
}
}