2013-05-15 18 views
5

Próbuję utworzyć przycisk, który uruchomi akcję, gdy dotyk użytkownika zostanie umieszczony w dowolnym miejscu przycisku (niezależnie od tego, czy dotykają one wnętrza, czy przeciągają z zewnątrz do wnętrza przycisku). Zasadniczo potrzebuję stworzyć sposób na wywołanie akcji, gdy palec znajdzie się wewnątrz przycisku.Uruchamianie systemu iOS Dotknij opcji Przeciągnij Enter nie działa zgodnie z oczekiwaniami?

"Dotykowy przeciągnij enter" połączony z "touch down inside" brzmi tak, jakby wykonał zadanie, ale wygląda na to, że działa inaczej niż to, czego potrzebuję.

Ponadto wolałbym, żeby można było to zrobić w scenorysie, a nie w twardym kodzie (np. Dotknięcia/przeniesienie), ale jeśli nie ma innego sposobu, który jest w porządku.

Odpowiedz

0

Podczas ustawiania połączenia w IB Touch Down powinno być tym, czego szukasz. Za każdym razem, gdy palec użytkownika uderzy w przycisk, zostanie wywołana akcja.

+2

Nie dotyczy to konieczności wykonania przez OP czynności po naciśnięciu przycisku. –

3

Albo będziesz musiał powiązać wszystkie zdarzenia jeden po drugim z metodą, którą zamierzasz wywołać, naciskając przycisk z IB.

LUB

Można próbować zarejestrować przycisk UIControlEventAllTouchEvents wewnątrz kodu. Oto przykład, który może być pomocny

[_btnRoundRect addTarget:self action:@selector(btnPressedAction) forControlEvents:UIControlEventAllTouchEvents]; 


- (void)btnPressedAction{ 
    NSLog(@"Bttn pressed"); 
} 
5

Touch drag enter będzie dostaje tylko nazywa, gdy u uruchomić dotyk wewnątrz kontroli i przeciągnij go poza granice kontroli, a następnie przeciągnij go z powrotem do kontroli, nie pozostawiając dotknąć. Musisz więc podklasować swój przycisk i osiągnąć wymaganą funkcjonalność.