2016-11-26 3 views
0

Ich versuche, ein UITouch Ereignis sichtbar zu erkennen.Wenn Touch-Ereignis beginnt.Zurzeit verwende ich unter Code, um den Touch-Speicherort zu erkennen.Von unten Code kann ich drucken Touch location.Any, Hilfe würde sehr geschätzt werden.Wie UITouch Ort sichtbar in Swift 3

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) 
{ 
    if let touch = touches.first { 
     let position :CGPoint = touch.location(in: view) 
     print(position.x) 
     print(position.y) 
    } 
} 

Hinweis: Ich bin nicht eine Linie oder irgendetwas zu ziehen wie eine Zeichnung app.I versuchen, will einfach das Berührungsereignis visibly.When geschieht zu sehen.

Vielen Dank im Voraus.

+0

Meinst du, du möchtest einen Kreis oder etwas zeichnen, um anzuzeigen, wo die Berührung ist? – Sweeper

Antwort

1

Wenn Sie einen Kreis oder etwas erscheinen soll, wenn der Benutzer den Bildschirm tippt, versuchen Sie dies:

var touchIndicators: [UIView] = [] 
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    for touch in touches { 
     let location = touch.location(in: view) 
     let touchIndicator = UIView(frame: CGRect(x: location.x - 10, y: location.y - 10, width: 20, height: 20)) 
     touchIndicator.alpha = 0.5 
     touchIndicator.backgroundColor = UIColor.red 
     touchIndicator.layer.cornerRadius = 10 
     self.view.addSubview(touchIndicator) 
     touchIndicators.append(touchIndicator) 
    } 
} 

override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) { 
    for indicator in touchIndicators { 
     indicator.removeFromSuperview() 
    } 
    touchIndicators = [] 
} 

ziemlich einfach. Fügen Sie Kreisansichten hinzu, wenn der Benutzer den Bildschirm berührt, und entfernen Sie sie, wenn der Benutzer seine Finger hebt. Sie können dies auch mit UITapGestureRecognizer tun.

+0

Danke Kumpel. code works.Ich versuche, Ihre Antwort in 'touchMoved' Funktion zu implementieren, aber TouchIndicator bewegt sich über die gesamte Ansicht wie erwartet.Ich frage mich, wie mache ich den touchIndicator (ein Kreis) folgen Sie einfach dem Finger ... – Joe

+0

@Joe, wenn Sie möchten Um das zu tun, entferne einfach die For-In-Schleife und ersetze "touch" durch "touchs.first!" und ändere das Array in eine einzelne UIView-Instanz. Setzen Sie in touchesMoved den Rahmen auf die neue Position – Sweeper