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 Storyboard 中的图像顶部添加标签
Apple Watch Storyboard:不支持的配置 - 模态控制器无法访问接口控制器
当 iPhone 从配对的 Apple Watch 收到消息时本地通知不会取消(有时)