2012-03-27 17 views
0

Я работаю над проектом XCode 4.4, и я нахожусь в точке, где мне нужно сохранить некоторое пространство в моем графическом интерфейсе. У меня есть две кнопки, каждая из которых обрабатывает метод, один для включения устройства, а другой - для выключения одного и того же устройства.Изменение функции кнопки при нажатии?

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

ответ

0

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

Таким образом, вы могли бы сделать что-то вроде:

- (IBAction)buttonWasPressed:(id)sender { 
    if (device.isTurnedOn) { 
     [device turnOff]; 
     [self.button setTitle:@"Turn On"]; 
    } else { 
     [device turnOn]; 
     [self.button setTitle:@"Turn Off"]; 
    } 
} 
+0

Я использую класс NSButton для своего проекта, и я просмотрел его ссылку, и это было нелегко понять. – Stevezie

+0

К сожалению, мой плохой, исправит. – mattjgalloway

+0

Извините, я просто предположил iOS, не глядя. Исправлены. Это работает для вас? – mattjgalloway

0

Вы можете иметь одно действие, как это.

- (IBAction)btnAction:(id)sender { 

    NSButton *btn=(NSButton *)sender; 

    [btn setTitle:([btn.title isEqualToString:@"On"] ? @"Off" : @"On")]; 

    if([btn.title isEqualToString:@"On"]){ 
     //Switch ON the device 
    }else{ 
     //Switch OFF the device 
    } 
} 
Смежные вопросы