自SDK更新以来,NSButton没有显示替代标题?

Tho*_*yer 5 macos nsbutton xcode4.5

背景资料:

我最近从Lion升级到MountainLion和最新的xCode.我正在开发的应用程序具有部署目标10.7.

问题:

NSButton在Interfacebuilder中设置了Title:"Start"Alternate:"Stop".在按钮中,IBAction我检查应用程序的状态(BOOL isRunning)并在每次按下按钮时更改状态,如下所示:

[startStopButton setState:[appDelegate.dataController appIsRunning]];
Run Code Online (Sandbox Code Playgroud)

一切都很好.自从我升级到新的xCode后,该按钮不再更改标题.

我已经尝试过的事情:

  • 根据此按钮检查IBAction和IBOutlet之间的所有连接.重置一切.没有帮助.
  • 尝试创建了一个新的NSButton.不工作.
  • 通过代码设置标题:没有用.

    [startStopButton setTitle:@"Start"];
    [startStopButton setAlternateTitle:@"Stop"];
    
    Run Code Online (Sandbox Code Playgroud)
  • 认为它可能是布尔值的问题.所以我检查了按钮是否处于混合模式.然后硬编码状态与int类型中的1和0交换.完全没有变化.

  • 不知何故,当我使用[startStopButton setTitle:@"TEST"]然后更改状态时,它会将状态ONCE更改为交替但不再返回.按钮上从未看到"TEST"字符串...

  • 我记录了值,[appDelegate.dataController appIsRunning]它返回正确的值.

我不知道如何解决这个问题.一切都很好,我什么都没改变,这对我没有任何意义.有没有人遇到过同样的问题?

hel*_*ioz 12

在Interface Builder中,将按钮类型更改为"Toggle".我不确定原因,但似乎替代标题不适用于"瞬间"和"推送"按钮类型.