Implementacja przycisku przełączania w telefonie iPhone


Chciałbym utworzyć przycisk przełączania w mojej aplikacji na iPhone'a. Jednak nie wiem dokładnie, które podejście byłoby do tego najlepsze.
Rozważam dwie opcje.
Mógłbym podklasy UIButton. W ten sposób nie muszę wdrażać przetwarzania dotykowego. Mógłbym po prostu utworzyć metodę, która zwraca wartość logiczną wskazującą, czy przycisk jest włączony, czy wyłączony.
Mógłbym też zacząć od podklasy UIView i stworzyć ją od podstaw. Przypuszczam, że łatwiej byłoby robić takie rzeczy, jak animacje przejścia, ale musiałbym stworzyć własne przetwarzanie dotyku.
Jak myślisz, który z nich jest najlepszy? A może znasz lepszy sposób? (Może w Internecie jest otwarty/bezpłatny widok?)

EDIT:

Nie chcę używać przełącznika UISwitch, ponieważ chcę, aby mój przycisk przełączania wyglądał tak. Chcę, żeby był to duży prostokątny przycisk i zmieniam tło, aby wskazać stan.
Podziękować!
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

-(IBAction)toggle{
if (button.selected == NO) {
button.selected = YES; }
else {
button.selected = NO;
}
}

lub
-(IBAction)toggle:(UIButton*)sender
{
sender.selected = !sender.selected;
}

prosty koleś
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz użyć
UIButton
i ustawić jego właściwość na
enabled
.
W programie Interface Builder można ustawić oddzielne obrazy dla stanów włączonych i wyłączonych, a
IBAction
zmienić tę właściwość.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Po prostu utwórz metodę (IBAction), a także metodę BOOL. Ustaw domyślną wartość BOOL na FALSE.
Twoja ibakcja powinna wyglądać tak:
- (IBAction) .... { if (bool) {
// do your things
} else {
// do your things
} bool =! bool
}

Mi to pasuje!
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Też muszę to zrobić. Czy jednak ustawienie stanu włączenia na NIE uniemożliwi przełączenie przycisku Wstecz?
UPDATE
Ludzie oferują UISWITCH, ale czy można usunąć skórę ze wszystkich odpowiednich stanów, over, wyłączone, selectionup, selectionover, selekeddisabled?
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Czy nie ma tu już przycisku przełączania, czy czegoś mi brakuje?
EDYCJA: Jak powiedzieli inni, nazywa się
UISwitch
i włącza się i wyłącza.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Może źle zrozumiałem pytanie… dlaczego nie używasz

UISwitch
http://developer.apple.com/iph ... .html
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Patrzyłem też na UISwitch, ale w moim przypadku nie potrzebuję przycisku włączania/wyłączania, naprawdę potrzebuję przycisku przełączającego. To, co próbuję zrobić, ponownie w moim przypadku, to mieć blok przycisków, który wygląda jak UISegmentedControl, ale w którym użytkownik może „przełączać” więcej niż jeden przycisk na kontrolce naraz. Problem, który próbuję rozwiązać, polega na tym, że mam BARDZO ograniczoną wartość rzeczywistą ekranu i wiele przełączników, aby dostać się do ekranu.
Moją alternatywą byłby prawdopodobnie widok UITableView pełen przełączalnych komórek. W ten sposób mogę dodać tyle przycisków opcji, ile chcę, do ustalonego przewijanego obszaru ekranu.
Niestety, UISwitch nie zawsze pasuje do specyfikacji interfejsu użytkownika, o których myślą ludzie, więc domyślam się, że dżentelmen, który opublikował oryginalny post, też nie szukał przełącznika włączania/wyłączania, ale raczej chciał przycisku, który zmienił jego stan w pewnym sensie.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się