2011-01-14 7 views
0

Trotz der angenommenen Antwort hoffe ich immer noch auf eine ausführlichere, mit Beispielen.Was ist der einfachste Weg, um eine Berührung auf dem iPhone-Bildschirm zu erkennen?

Ich habe viele Ansichten und möchte nur, wo immer der Benutzer ist, die Touch-Eingabe auf dem Bildschirm erfassen.

Wie können wir trotz der warnings die Berührung von jeder Klasse erkennen, ohne uns um andere Ansichten zu sorgen?

edit: Ich habe touchesBegan auf der vordersten Ansicht versucht, mit (was in Ordnung funktioniert) und [super touchesBegan ...] oder [self.nextResponder ...] aber that nicht aus der Hauptklasse nicht verursacht hätte.

Ich versuchte auch UIImage aus der Rückansicht mit keinem Erfolg. Zu guter Letzt habe ich noch etwas Aufmerksamkeit, aber ich bin mir nicht sicher, ob es möglich ist, es zu verändern, um es unsichtbar zu machen, also entschied ich mich zuerst zu fragen, was der beste Weg ist.

Besonders gut, wenn es iOS3 kompatibel ist.

Antwort

3

Versuchen Sie, eine alte Version des iPhone-Betriebssystems zu unterstützen und somit mit -touchesBegan, -touchesMoved usw. zu bleiben?

Wenn nicht, empfehle ich stattdessen UIGestureRecognizers zu verwenden. Sie müssen sich nicht um andere Ansichten kümmern. Die Ansicht, die die Berührung erhält, wird mit der Erkennung der Gesten ausgeführt, sodass Sie sich keine Gedanken über Trefferprüfungen machen müssen.

+1

Für ältere iOS-Versionen können Sie eine benutzerdefinierte 'UIWindow'-Klasse für Ihre App verwenden und' -sendEvent: 'überschreiben, um Ihre eigene Gestenerkennung zu implementieren, bevor Ereignisse an die normalen Ereigniszustellmechanismen gesendet werden. – Jonah

+0

Altealice, nichts besonderes, nur ein Neuling. Ich wusste weder über 'UIGestures' noch darüber, wo man nach" Interface with Touch "suchen sollte. Aber wenn ich nach "* xcode iphone touch *" google, landete ich auf diesen Ergebnissen aus wenigen verschiedenen Quellen. Gona, versuch das neue Zeug jetzt! Hättest du einen Code zu zeigen? – cregox

+0

Eigentlich bleibe ich doch eher bei alten iOS. Ich wusste nicht, 'UIGestures' ist nur iOS4. @ Jonah, dein Hinweis klingt reizend. Ich werde es versuchen. Auch hier würde jedes Beispiel, das Sie anbieten, sehr hilfreich sein! :) - Du hast wahrscheinlich so etwas gemeint: http://stackoverflow.com/questions/273450/iphone-detecting-user-inactivity-idle-time-since-last-screen-touch/309535#309535 – cregox

Verwandte Themen