Apple Watch 中模态序列中的“取消”标签显示错误文本 - “abbrechen”

Posted

技术标签:

【中文标题】Apple Watch 中模态序列中的“取消”标签显示错误文本 - “abbrechen”【英文标题】:The label “Cancel” from modal segue in Apple Watch showing wrong text - "abbrechen" 【发布时间】:2017-01-04 06:43:21 【问题描述】:

当我的WKInterfaceController 通过按下 menuItem 弹出(由“self.addMenuItem in mainScreen”设置)时,弹出的 WKInterfaceController 上的标题显示“abbrechen”而不是“Cancel”。任何人都知道如何修复它以使其显示“Cancel”?或者像我可能在哪里犯了错误?

//MainScreen.swift
func setContextItems(directToEnabled: Bool) 
        self.clearAllMenuItems()
        self.addMenuItem(with: WKMenuItemIcon.decline, title: "direct", action: #selector(MainScreen.freePressed))

线索:

仅在我的 Apple Watch 设备 (WatchOS 3.1) 上发生。当它运行时 在模拟器上(Xcode 8.2.1,iPhone 7 plus),显示效果很好 “取消”。 我的语言和地区都是英语。我的 Watch 应用和 iPhone 设置中的“语言和地区”都是英语语言和澳大利亚语地区。 “abbrechen”在德语中是“abort”或“cancel”。 在 SO 上有一个 related question。 也许我在某处更改了语言的一些 plist 设置。 我搜索了我的项目,找不到像“german”、“abbrechen”这样的关键字 我确实使用了“#if (TARGET_OS_ios || TARGET_IPHONE_SIMULATOR)”,但没有任何相关内容。

我想我可能会在某个地方更改一个 plist,只在 Apple Watch 上更改语言环境/语言。或者这可能是一个罕见的 WatchOS 错误。有人见过类似的问题吗?

【问题讨论】:

【参考方案1】:

通过 Xcode 安装时检查您是否覆盖了语言设置。这可以使用 Xcode 中的方案编辑器来完成:

在“运行”目标菜单中单击目标并选择“编辑方案”。 在右侧,选择选项。 检查Application Language设置

更多关于Testing Specific Languages and Regions (@developer.apple.com)的信息

【讨论】:

那里默认是“系统语言”,应该是英文。我把它改成了英文,但它不起作用。感谢您提供此方法,但我没有尝试过。【参考方案2】:

我对你的代码有点困惑?您给它的标题是“直接”,但期望标题是“取消”?

你不应该这样做:

    self.clearAllMenuItems()
    self.addMenuItem(withImageNamed: "imageFileForDirectButton", title: "Direct", action: #selector(TheController.menuDirectButtonPressedFunction))
    self.addMenuItem(with: WKMenuItemIcon.decline, title: "Cancel", action: #selector(TheController.menuCancelButtonPressedFunction))

【讨论】:

这里显示的标题是itemMenu的标题,但我问的是弹出的WKInterfaceController的标题。【参考方案3】:

您是否尝试过覆盖标题?

override func awake(withContext context: Any?)

    self.setTitle("Cancel")       
    super.awake(withContext: context)


override func willActivate()

    self.setTitle("Cancel")

【讨论】:

以上是关于Apple Watch 中模态序列中的“取消”标签显示错误文本 - “abbrechen”的主要内容,如果未能解决你的问题,请参考以下文章

Apple Watch 模态表中的 SwiftUI 图像

在 Apple Watch Storyboard 中的图像顶部添加标签

Apple Watch Storyboard:不支持的配置 - 模态控制器无法访问接口控制器

当 iPhone 从配对的 Apple Watch 收到消息时本地通知不会取消(有时)

如何将 int 从 iPhone 发送到 Apple Watch 标签(objective-c)

Apple Watch 应用中的黑屏输出