Ok, mam więc UILabel
utworzony w interfejsie kreator, który wyświetla jakiś domyślny tekst „dotknij, aby rozpocząć”.
Gdy użytkownik naciśnie przycisk UILabel
Chcę, aby wyzwolił metodę IBAction:
-(IBAction)next;
która aktualizuje tekst na etykiecie, aby powiedzieć coś nowego.
Byłoby naprawdę wygodne, gdyby to pozwoliło mi po prostu przeciągnąć połączenie z mojej metody na etykietę, a następnie wybrać retusz wewnątrz, tak jak w przypadku przycisku. ale niestety nie ma cygara.
więc w każdym razie, myślę, że moje pytanie brzmi: czy będę musiał przejść podklasę, UILabel
aby to zadziałało? Czy jest jakiś sposób, żebym mógł przeciągnąć przycisk nad etykietą, ale uczynić go nieprzezroczystym w 0%. Czy może brakuje mi prostszego rozwiązania?
źródło
UILabel dziedziczy po UIView, który dziedziczy po UIResponder. Wszystkie obiekty UIresponder mogą obsługiwać zdarzenia dotykowe. Więc w pliku klasy, który wie o twoim widoku (który zawiera UIlabel) zaimplementuj:
W programie do tworzenia interfejsów ustaw wartość tagu UILabel. kiedy dotknięcia występują w metodzie touchesBegan, sprawdź wartość tagu widoku, do którego należy tag:
Łączysz swój kod w pliku klasy z obiektem UILabel w programie do tworzenia interfejsów, deklarując zmienną instancji UILabel z prefiksem IBOutlet:
Następnie w kreatorze interfejsów możesz je połączyć.
źródło
Możesz użyć UIButton, uczynić go przezroczystym, tj. Niestandardowy typ bez obrazu i dodać do niego UILabel (wyśrodkowany). Następnie połącz normalne zdarzenia przycisków.
źródło
Szybki 3
Masz IBOutlet
W którym włączasz interakcję z użytkownikiem i dodajesz rozpoznawanie gestów
I na koniec obsłuż kran
źródło