2015-09-22 14 views
7

Zastanawiam się, czy potrafię wykryć stale zmieniającą się presję użytkownika na iPhone'a 6s.Jak pracować z 3D Touch w iOS 9? Czy wywołuje zdarzenie, gdy zmienia się ciśnienie?

Z prostym dotknięciem to oczywiste, od UIRespondera można podłączyć się do dotykuBegan i TouchesMoved, a otrzymasz współrzędne za każdym razem, gdy użytkownik dotknie ekranu, a kiedy przesunie jego palec, możesz mieć aktualną pozycję każda aktualizacja.

Jednak nie jestem pewien, jak działa nowa właściwość force. Jeśli czytasz "siłę" w dotknięciach Begana, czy nie uzyskałbyś minimalnej wartości ciśnienia, która została wykryta przy inicjacji dotyku?

Czy istnieje sposób na aktualizację wartości siły w miarę jej zmiany, tak jak w przypadku dotknięć? Może istnieje metoda "forceChanged"?

+0

Czy próbowałeś? Najprawdopodobniej pojawi się nowe zdarzenie 'touchesMoved:' w miarę zmiany siły. Napisz prostą aplikację testową i zapisz wartości i zobacz, co otrzymasz. – rmaddy

+0

Jak tego spróbować? Symulator nie obsługuje żadnego sposobu symulacji siły działania dotyku, a urządzenie nadal nie jest zwolnione: S – mrtksn

+1

Istnieje kilka opcji menu związanych z siłą w symulatorze, które stają się aktywne po ustawieniu symulatora na iPhone 6s/6s +. – rmaddy

Odpowiedz

11

Z iOS 9.1 Release Notes

na 3D Dotknij urządzeń, zdolnych do zmiany ciśnienia dotykowych przyczyną touchesMoved: nazywać.

Aplikacje powinny być przygotowane do odbierania zdarzeń przenoszenia dotykowego bez zmiany współrzędnych X/Y.

To oznacza, że ​​touchesMoved: zwrotna albo wskazuje na ciągłe zmiany w force lub lokalizacji lub obu!

Mam nadzieję, że te informacje pewnego dnia zmienią się w UITouch documentation.

Powiązane problemy