переключать состояние UIButton при нажатии, как переключатель - PullRequest
7 голосов
/ 21 июля 2010
-(void)setState:(id)sender
{
    UIButton* button = (UIButton*)sender;
    BOOL buttonBool = ([button state]==selected : YES ? NO);
    [sender setSelected:buttonBool++];

}

это моя идея, но я не могу понять фактическое состояние кнопки, вызывающей функцию. любая кнопка, вызывающая эту функцию, должна переключаться между значением по умолчанию и выбранным состоянием, чтобы она работала как переключатель. мне просто нужно иметь собственную фоновую графику, иначе я использовал переключатель.

Итак, кто-нибудь может исправить мою идею?

Ответы [ 2 ]

20 голосов
/ 21 июля 2010

Попробуйте так:

-(void)setState:(id)sender
{
    UIButton* button = (UIButton*)sender;
    button.selected = !button.selected;
}
1 голос
/ 03 мая 2015

Swift 3 way:

func setState(button: UIButton) {
    button.isSelected = !button.isSelected
}

(Спасибо @ nadi-hassan за совет Swift 3)

...