背景资料:
我最近从 Lion 升级到了 MountainLion 和最新的 xCode。我正在开发的应用程序的部署目标是 10.7。
问题:
我NSButton
在 Interfacebuilder 中设置了Title: "Start"和Alternate: "Stop"。在按钮IBAction
中,我检查应用程序的状态(BOOL isRunning)并在每次按下按钮时更改状态,如下所示:
[startStopButton setState:[appDelegate.dataController appIsRunning]];
一切正常。由于我升级到新的 xCode,按钮不再更改标题。
我已经尝试过的事情:
- 根据此按钮检查 IBAction 和 IBOutlet 之间的所有连接。重置一切。没有帮助。
- 创建了一个新的 NSButton 也试过了。不工作。
通过代码设置标题:没有用。
[startStopButton setTitle:@"Start"]; [startStopButton setAlternateTitle:@"Stop"];
认为这可能是布尔值的问题。所以我检查了按钮是否未处于混合模式。然后用 int 类型的 1 和 0 硬编码 statechanges。完全没有变化。
不知何故,当我使用
[startStopButton setTitle:@"TEST"]
然后更改状态时,它会将状态一次更改为交替但不再返回。“TEST”字符串也从未出现在按钮上......我记录了 的值,
[appDelegate.dataController appIsRunning]
它返回了正确的值。
我不知道如何解决这个问题。一切正常,我什么都没做,对我来说没有任何意义。有没有人遇到过类似的问题?