2010-09-02 8 views
7

Zastanawiasz się, czy ktoś napisał lub natknąć się na dobrej drodze do logowania do konsoli, że dotyk wystąpił w Znam touchesEnded. Mogą być realizowane, ale moim problemem jest to, że coś tajemniczego blokuje dotknięcia moich poglądów i nie wiem, co to jest. Chciałbym tylko wiedzieć, co przechwytuje dotknięcia.iOS - debugowanie narzędzie do wykrywania widok dotknął

Chciałbym, aby zalogować się do konsoli:

„dotykowy doszło w widoku: nameOfSomeUIView”. „Widoku, w którym początkowo nastąpiło dotknięcie”

Odpowiedz

14

Każdy UITouch obiekt ma właściwość widok opisany jako Można podklasę UIWindow i zastąpić metodę sendEvent. W swojej realizacji sendEvent można nazwać [super sendEvent: event] a potem sprawdzać właściwości widzenia wszystkimi elementami, które należą do tego wydarzenia.

Jako ogólna wskazówka: Sprawdź metodę hitTest swoich wyświetleń, jeśli Twój UITouches nie zachowuje się zgodnie z oczekiwaniami. Możesz zastąpić tę metodę, aby zobaczyć, który widok powinien zostać dotknięty.

+0

Mam podklasy UIWindow i stosowany typ podklasy w App Delegata. Zaimplementowałem - (void) zdarzenie sendEvent: (UIEvent *) w podklasie, ale nigdy nie zostanie wywołane. – sol

+0

Właściwie to zadrapam, teraz otrzymuję sendEvent. Czy możesz zasugerować, jak znaleźć, który widok jest dotykany? – sol

+0

Dowiedziono, jak wyciągnąć dotyku z UIEvent. Mogę uzyskać adres pamięci dotkniętego widoku. Byłoby miło, gdybym mógł zdobyć jego imię. – sol

Powiązane problemy