macos - 自 SDK 更新以来 NSButton 不显示替代标题?

标签 macos xcode4.5 nsbutton

背景资料:

我最近从 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"];
    
  • 认为这可能是 bool 值的问题。所以我
    检查按钮是否未处于混合模式。然后硬编码 statechanges
    类型为 int 的 1 和 0。根本没有变化。
  • 不知何故,当我使用 [startStopButton setTitle:@"TEST"]然后更改状态,它将状态更改一次以交替但不再返回。 “TEST”字符串也从未出现在按钮上...
  • 我记录了 [appDelegate.dataController appIsRunning] 的值和
    它返回正确的值。

  • 我不知道如何解决这个问题。一切正常,我什么也没改变,这对我来说没有任何意义。有没有人遇到过类似的问题?

    最佳答案

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

    关于macos - 自 SDK 更新以来 NSButton 不显示替代标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13542965/

    相关文章:

    c++ - Xcode:如何在 i7 上为旧版 Intel 处理器(i5、Core 2 Duo)构建

    objective-c - 如何在 Cocoa 应用程序中将 NSView 添加到 NSWindow?

    objective-c - 如何更改某个属性字符串的文本颜色或将其设为粗体?

    ios - 在 iphone 5 中调整相机表的大小

    cocoa - 自定义 NSButton 无法通过 CoreMIDI 回调函数工作

    python - UnsatisfiableError:发现以下规范存在冲突:-opencv3-> python 2.7 *-python 3.6 *

    macos - "Google Chrome Helper"在哪个选项卡上运行?

    iphone - 在 xcode 4.5 中找不到 AssetsLibrary 框架

    objective-c - Cocoa 按钮在应用程序外部启动