我最近从Lion升级到MountainLion和最新的xCode。正在处理的应用程序具有部署目标10.7。
我在Interfacebuilder中进行了NSButton
设置,其中标题:“开始”和备用:“停止”。在按钮IBAction
中,我检查应用程序的状态(BOOL isRunning)并在每次按下按钮时更改状态,如下所示:
[startStopButton setState:[appDelegate.dataController appIsRunning]];
一切都很好。 自从我升级到新的xCode后,该按钮不再更改标题。
通过代码设置标题:无效。
[startStopButton setTitle:@"Start"];
[startStopButton setAlternateTitle:@"Stop"];
认为它可能是布尔值的问题。所以我 检查按钮是否未处于混合模式。然后硬编码的状态改变 类型为int的1和0。根本没有变化。
不知何故,当我使用[startStopButton setTitle:@"TEST"]
然后更改状态时,它会将状态ONCE更改为alternate,但不再返回。 “TEST”字符串永远不会出现在按钮上......
我记录了[appDelegate.dataController appIsRunning]
和的值
它返回正确的值。
我不知道如何解决这个问题。一切都很好,我什么都没改变,这对我没有任何意义。有没有人遇到过同样的问题?
答案 0 :(得分:12)
在Interface Builder中,将按钮类型更改为“Toggle”。 我不确定原因,但似乎替代标题不适用于“瞬间”和“推送”按钮类型。