Na komputerze Mac zawsze można uzyskać lokalizację myszy "poza strumieniem zdarzeń" (tzn. Nawet jeśli nie subskrybujesz żadnych metod delegatów dla mouseUp:
i innych), dzwoniąc pod numer [NSEvent mouseLocation]
.Pierwsze poprawki przy uruchomieniu na iOS
Czy jest jakiś sposób na iOS, aby uzyskać bieżące wydarzenia dotykowe bez odsłuchu touchesBegan:
?
Pytam, ponieważ istnieje co najmniej jedna sytuacja, w której touchesBegan nie nazywa się: podczas uruchamiania aplikacji, czy dotyk jest już w toku, touchesBegan nigdy nazywa. W rzeczywistości żadna z metod UIEvent związanych z dotykiem nie jest tak blisko określana, jak mi się wydaje (ani najwyraźniej nie jest to UIApplication/UIWindow sendEvent:
).
Chciałbym nieco zmienić zachowanie mojej aplikacji na podstawie tego, czy dotyk jest w trakcie uruchamiania. Czy jest jakiś sposób, aby wykryć postęp w trakcie uruchamiania aplikacji pod numerem?
Co oznacza "aplikacja uruchomiona" dla Ciebie? Czy wykonujesz czasochłonne działania na głównym wątku w czasie ładowania? – yurish
"Przy uruchomieniu aplikacji" to ", gdy użytkownik klika ikonę aplikacji na trampolinie, a aplikacja otwiera się". Brak wydarzeń dotykowych to * nie *, ponieważ aplikacja jest nadmiernie obciążona intensywnym przetwarzaniem; dzieje się tak, ponieważ dotknięcia, które są w trakcie otwierania aplikacji, nie są dostarczane do aplikacji w normalny sposób. Próbuję dowiedzieć się, czy ktokolwiek zna sposób poza normalną pętlą, być może podklasy i nadpisywania, aby uzyskać dotknięcia, które są w toku arbitralnie, z dowolnej metody, w dowolnym czasie. – SG1
Myślę, że to nie jest możliwe. UIApplication nie nadaje się do podklasy i jest to punkt wejścia do twojej aplikacji. –