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

时间:2012-11-24 16:11:58

标签: macos xcode4.5 nsbutton

背景资料:

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

问题:

我在Interfacebuilder中进行了NSButton设置,其中标题:“开始”备用:“停止”。在按钮IBAction中,我检查应用程序的状态(BOOL isRunning)并在每次按下按钮时更改状态,如下所示:

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

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

我已经尝试过的事情:

  • 检查IBAction和IBOutlet之间的所有连接 这个按钮。重置一切。没有帮助。
  • 创建了一个新的NSButton尝试过。没用。
  • 通过代码设置标题:无效。

    [startStopButton setTitle:@"Start"];
    [startStopButton setAlternateTitle:@"Stop"];
    
  • 认为它可能是布尔值的问题。所以我 检查按钮是否未处于混合模式。然后硬编码的状态改变 类型为int的1和0。根本没有变化。

  • 不知何故,当我使用[startStopButton setTitle:@"TEST"]然后更改状态时,它会将状态ONCE更改为alternate,但不再返回。 “TEST”字符串永远不会出现在按钮上......

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

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

1 个答案:

答案 0 :(得分:12)

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