2009-01-01 13 views
14

I UIButton użyciu + buttonWithType:Ręczne ustawienie stanu UIButton

Co muszę dowiedzieć się, jak ręcznie zmienić stan przycisku. Są chwile, kiedy potrzebuję ustawienia "wyłączone".

Przeczytałem dokumentację UIButton, ale nie mogę znaleźć niczego na temat ręcznego ustawiania stanu przycisku.

Wszelkie przemyślenia będą mile widziane.

+0

celu uzupełnienia tego, co powiedział Ben, sprawdź właściwości enabled w UIControl: http://developer.apple.com/iphone /library/documentation/UIKit/Reference/UIControl_Class/Reference/Reference.html#//apple_ref/occ/instp/UIControl/enabled – Athena

Odpowiedz

42

Czy próbowałeś button.enabled = NO;?

+0

Hej dzięki Ben. Nawet nie pomyślałem o patrzeniu na superklasę. Wielka lekcja na tym się nauczyła! – acreek

+0

Zastanawiam się, dlaczego button.isEnabled nie jest zapisywalny, gdy działa button.enabled – OMGPOP

+0

NIE, nie próbowałem tego, dzięki;) – rednaw

6

Czy nie jest to tylko właściwość state? Jest to klasa UIControl, która jest nadklasą klasy UIButton.

Edycja: oops, nie, nie jest. Dokumenty mówią: "Ten atrybut jest tylko do odczytu - nie ma odpowiedniej metody ustawiającej."

+0

Czy mogę zasugerować, że skoro ta odpowiedź nie jest poprawna, według własnego uznania, powinna ona zostać usunięta? –

+0

Zwykle zgadzam się z tym, ale wydaje się, że ludzie uważają to za przydatne, nawet jeśli jest ono błędne. Być może jest to częsty błąd i pomocne jest oznaczenie tego flagą? –

3

można ręcznie ustawić stan UIButton.

UIButton *btnCheck=[UIButton buttonWithType:UIButtonTypeCustom]; 

if(btncheck isselected]) 
{ 
    btncheck.selected=FALSE; 
} 
else 
{ 
    btncheck.selected=TRUE; 
} 

można zrobić operację na UIButton jak na swoje wymagania jak wykonać pewne działania po wybraniu UIButton i jednocześnie nie wybiera.

Nadzieja to pomoże ....

0

Dla każdego przybywającego tu chce zmienić „państwo” przycisku (w przeciwieństwie do „włączony”). Stephen jest poprawny "Ten atrybut jest tylko do odczytu - nie ma odpowiedniej metody ustawiającej."

To, co naprawdę chcesz ustawić, to stan komórki przycisków.

[[myNSButtonOutlet cell] setState: NSOnState]; //Options NSOnState, NSOffState, NSMixedState 
2

dla Swift 3 można użyć

button.isSelected = true