NSButton setEnabled не работает - PullRequest
       26

NSButton setEnabled не работает

2 голосов
/ 20 ноября 2010

Я пытаюсь запустить приложение, когда все кнопки отключены, кроме одной.Прежде всего, я попытался отключить их через конструктор интерфейса, а затем включил их, когда мне нужно, чтобы они были включены.Тем не менее, когда я вызываю setEnabled: он на самом деле не включает их (я даже сделал NSLogs, чтобы увидеть, если он туда попал!).Во-вторых, я также попытался инициализировать их, чтобы они были отключены в коде (в applicationDidFinishLaunching: метод), а затем снова установил их в состояние «включено», но это все равно не сработало.У кого-нибудь есть предложение попробовать отключить / включить их, когда они мне нужны?

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
     [loadImageButton setEnabled:NO];
     [autoFitButton setEnabled:NO];
     [estimateAgeButton setEnabled:NO];
     [ageProgressButton setEnabled:NO];
}


- (IBAction)loadAAMModel:(id)sender
{
   ...
   ...
     if (waam.ModelLoaded) {
         [modelNameLabel setStringValue:f];
         [svmLabel setStringValue:svmPath];
         [ageTableLabel setStringValue:ageTable];
         NSLog(@"model loaded...set loadImageButton to Enabled!");
         [loadImageButton setEnabled:YES];
         NSLog(@"loadImageButton set to Enabled.");
    }
}

Ответы [ 2 ]

3 голосов
/ 20 ноября 2010

То, что вы делаете, должно работать.Я собираюсь догадаться, что ссылки на ваши кнопки nil.Вы можете проверить это, поместив строку вроде:

NSLog(@"loadImageButton = %@", loadImageButton);

в applicationDidFinishLaunching:.

Возможно, вы просто забыли подключить их в Интерфейсном Разработчике.

0 голосов
/ 20 ноября 2010

Вы имеете в виду ОТКЛЮЧЕНО или НЕ ВЫБРАНО ?

Если этот параметр отключен, вы не сможете взаимодействовать с кнопкой (т. Е. От прикосновения к ней не будет никаких действий).), пока вы не установите их обратно на setEnabled:YES

Если выбрано, это означает, что вашей КНОПКЕ будет присвоен выбранное состояние управления (UIControlStateSelected).Чтобы изменить выбранное состояние, все, что вам нужно сделать, это

[button setSelected:(BOOL)];

Если вы могли бы вставить код, в котором вы инициализируете кнопку и задаете ее свойства, вам будет легче определить, что вы делаете неправильно.

...