NSButton не показывает альтернативный заголовок после обновления SDK?

Исходная информация:

Я недавно обновился с Lion до MountainLion и новейшего xCode. Приложение, над которым я работаю, имеет цель развертывания 10.7.

Проблема:

У меня есть настройка NSButton в Interfacebuilder с Название: "Пуск" и Альтернативный вариант: "Стоп". В кнопках IBAction проверяю состояние приложения (BOOL isRunning) и меняю состояние при каждом нажатии кнопки вот так:

[startStopButton setState:[appDelegate.dataController appIsRunning]];

Все работало нормально. После того как я перешел на новый xCode, кнопка больше не меняет название.

Вещи, которые я уже пробовал:

  • Проверил все связи между IBAction и IBOutlet по этой кнопке. Сбросить все. Не помогло.
  • Создал новый NSButton, попробовал то же самое. Не работает.
  • Установка титров через код: Не помогло.

    [startStopButton setTitle:@"Start"];
    [startStopButton setAlternateTitle:@"Stop"];
    
  • Думал, что это может быть проблема с логическим значением. Поэтому я проверил, не находится ли кнопка в смешанном режиме. Затем жестко запрограммированные изменения состояния с 1 и 0 из типа int. Никаких изменений.

  • Каким-то образом, когда я использую [startStopButton setTitle:@"TEST"], а затем меняю состояние, оно ОДИН РАЗ изменяет состояние на альтернативное, но не обратно. Строка "TEST" никогда не отображается на кнопке...

  • Я записал значение [appDelegate.dataController appIsRunning], и оно возвращает правильные значения.

Я понятия не имею, как это решить. Все работало нормально, я ничего не менял, и это не имеет для меня никакого смысла. Кто-нибудь сталкивался с аналогичной проблемой?


person Git.Coach    schedule 24.11.2012    source источник
comment
Кстати, «состояние» - это не BOOL, это NSOffState, NSOnState,...   -  person    schedule 25.11.2012
comment
... что я указал в своем вопросе. ;-) Но спасибо.   -  person Git.Coach    schedule 25.11.2012


Ответы (1)


В Interface Builder измените тип кнопки на «Toggle». Я не уверен в причине, но похоже, что альтернативный заголовок не работает для типов кнопок «Мгновенный» и «Нажать».

person helioz    schedule 13.03.2013
comment
Спасибо за подсказку. Вечером проверю и отпишусь, получилось ли! - person Git.Coach; 13.03.2013
comment
Это было ошибкой! Большое спасибо! - person Git.Coach; 22.03.2013