2011-09-09 17 views
14

Mam UIView wewnątrz UIScrollView. Kiedy chcę zasymulować zdarzenie przeciągania w UIView, uruchamiane jest zdarzenie przeciągania na UIScrollView.Symulator ios: symulacja przeciągania i przeciągania

Zgodnie z documentation, nie ma dużej różnicy między machnięcia i przeciągania.
Swipe

1- Place the pointer at the start position. 
2- Hold the mouse button. 
3- Move the pointer in the swipe direction and release the mouse button. 


Drag

1- Place the pointer at the start position. 
2- Hold down the mouse button. 
3- Move the pointer in the drag direction. 

Na iPadzie można wykorzystać dwa palce i dwa machnięcia palcem przeciągnąć. Teraz, jak mam zrobić coś podobnego na symulatorze; przeciągnij zamiast przesunąć?

Edytuj 1: Najpierw powinienem być bardziej przejrzysty. W każdym razie, moim problemem jest to, że przeciągnięcie myszą powoduje przeciąganie zamiast przeciągania, przewijając w ten sposób widok przewijania zamiast przekazywania zdarzenia przeciągania do UIView zawartego w widoku przewijania. Jestem na MacBook Pro. Przesunięcie dwoma palcami po touchpadzie jest ignorowane. Dotknięcie i przeciągnięcie powoduje to samo, co przeciągnięcie myszą. Dzięki

+0

możliwe dzięki użyciu macbook touchpad/Magic Trackpad? –

+0

@Marek Touchpad nie jest zbyt pomocny. Zignorowanie dwóch palców jest ignorowane, nic się nie dzieje. Przytrzymaj i przeciągnij powoduje taki sam efekt jak przeciągnięcie myszą. Zaktualizowałem pytanie. – Srisa

+0

Hmm jest pewien problem z gestami i scrollView, ponieważ odbierają zdarzenia w pierwszej kolejności ... Jeśli naprawdę chcesz to zrobić, myślę, że powinieneś zastąpić hitTest: withEvent: i sprawdzić, który widok ma wydarzenie i przejść do niego –

Odpowiedz

1

Skończyło się wyłączanie przewijania z interfejsu użytkownika i dodano dwa przyciski do przewijania widoku przewijania. Ponieważ jest to praca tylko dla emulatora, użyłem #ifndef do ukrycia przycisków podczas budowania urządzenia.

18

Zobacz, jak to zrobić: Jeff LaMarche's quick note. Jest to udokumentowane na tej samej stronie, którą czytasz, ale wyjaśnienie Jeffa jest jaśniejsze.

Jeśli chcesz symulować gestem dwóch palców w symulatorze iPhone'a, przytrzymaj klawisz opcji. Otrzymasz dwie kropki na ekranie zamiast jednej. Dwie kropki będą domyślnie zaciskać - jeśli zbliżysz kropkę bliżej środka ekranu, druga kropka zbliża się do środka, co ułatwia symulację szczypania lub szczypanie.

Jeśli chcesz wykonać inny gest dwoma palcami, ustaw odległość między dwoma punktami, które chcesz, a następnie przytrzymaj klawisz Shift, przytrzymując jednocześnie klawisz opcji. Spowoduje to zablokowanie pozycji dwóch palców, dzięki czemu można na przykład przesunąć dwoma palcami.

+0

@ Rob Mój problem polega na tym, że przeciągnięcie myszą powoduje przesunięcie palca (gest dwoma palcami). Nie jestem w stanie wystrzelić zdarzenia przeciągania (gest jednego palca). Zaktualizowano pytanie. – Srisa

2

zobaczyć tę dokumentację poniżej: iOS Simulator User Guide

wystarczy użyć myszki, aby przeciągnąć widok, alias, kliknij lewym przyciskiem myszy widok następnie przesuń mysz

Powiązane problemy