Я только начал играть со Swift, поэтому извиняюсь, если это глупый вопрос.Я пытаюсь создать кнопку, чтобы, когда пользователь нажимает ее и затем касается экрана внутри изображения, он сохранял местоположение касания в виде CGPoint и изменял текст на метке на координаты.
Пока у меня есть нижеприведенное, но я не уверен, какие аргументы следует использовать для вызова функции touchesBegan
из IBAction
кнопки, или я полностью ошибаюсь в этом.Любая помощь будет принята с благодарностью.
class FirstViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
// *********** Set Coordinates ****************
// variable to be set as the location of the user's touch
var toploc:CGPoint? = nil
@IBOutlet weak var myImageView: UIImageView!
// label that will change to the coordinates of the touch
@IBOutlet weak var Topcoord: UILabel!
func touchesBegan(_ touches:Set<UITouch>, with event: UIEvent?) -> CGPoint {
if let touch = touches.first {
let position = touch.location(in: myImageView)
return position
} else {
// print("in else")
}
}
// button that stores location of user's touch and displays the coordinates in the Topcoord text
@IBAction func settop(_ sender: Any) {
toploc = touchesBegan(Set<UITouch>, UIEvent)
Topcoord.text = String(describing: toploc)
}
// ************** default stuff ***************
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}