【问题标题】:Binding Null Placeholder not translated in view based NSTableView绑定空占位符未在基于视图的 NSTableView 中翻译
【发布时间】:2014-10-30 10:00:21
【问题描述】:

我有一个基于视图的 NSTableView,其内容绑定到数组控制器。我使用 objectValue.title 绑定一个特定的文本字段。这工作正常。我还为该绑定设置了一个空占位符,该占位符在值为空时确实显示。但是,它确实不使用 null 占位符的翻译值。

占位符的标识符是je1-iU-XEu.ibShadowedIsNilPlaceholder,对应的翻译是je1-iU-XEu.ibShadowedIsNilPlaceholder" = "Stationsname";。 如果我对基于单元格的表格视图做同样的事情,它就可以工作。知道为什么这不起作用吗?

【问题讨论】:

  • 这里有同样的问题。你有没有找到解决方案?
  • @Mark 否。我认为这是 AppKit 中的某个错误。不过,我没有用 Xcode 6.3 尝试过。归档雷达可能是个好主意。
  • 我刚刚写了一个小示例项目来重现这个。这似乎只发生在大纲视图中。 NSButton 的占位符有效。雷达重新上线后,我会立即提交错误报告。
  • 解决方法是使用“Interface Builder Cocoa XIB”而不是“本地化字符串”文件作为翻译文件。
  • 这在 Xcode 7.3 中仍然不起作用。

标签: nstableview cocoa-bindings


【解决方案1】:

我今天遇到了这个错误。看来Apple并不关心修复它。

如果您使用本地化字符串,那么您可能需要深入了解情节提要代码并确保对象 ID 匹配。

在您的情节提要中,您将看到一个带有键“NSNullPlaceholder”的元素,它被包裹在另一个 ID 为“Ds1-Gj-yzu”的元素中。 (见下面的代码)

转到你的字符串文件并确保你有类似的东西

"Ds1-Gj-yzu.ibShadowedIsNilPlaceholder" = "Your translation";

警告:每次您将更改情节提要中的占位符值时,都会生成一个新 ID,同时破坏本地化。

<connections>
    <binding destination="TyA-Z9-mxH" id="Ds1-Gj-yzu" keyPath="objectValue.group" name="value">
        <dictionary key="options">
            <string key="NSNullPlaceholder">Group</string>
        </dictionary>
    </binding>
</connections>

【讨论】:

    猜你喜欢
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 2012-01-12
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多