在我的 Apple Watch 应用中,我的一个界面控制器在左上角有一个取消按钮。就我而言,一旦完成特定操作,我不希望用户返回上一个屏幕,因此我想禁用该取消按钮的用户交互。即使我将标题更改为空字符串,用户交互仍然保持启用状态。
问问题
3070 次
3 回答
18
我们不能禁用后退/取消按钮用户行为,但可以在没有取消按钮的情况下加载控制器。
presentControllerWithName("NewInterfaceController", context: nil)
presentControllerWithName这将显示带有取消按钮的控制器。如果我们像下面这样使用将不会得到取消按钮。
WKInterfaceController.reloadRootControllersWithNames(["NewInterfaceController"], contexts: ["NewInterfaceController"])
reloadRootControllersWithNames这将使我们的控制器成为根控制器,因此我们不会得到取消按钮。这就是我解决问题的方式。希望它也能帮助你。
注意:这里 [ ] 是语法。exp: ["NewInterfaceController"]
于 2015-06-29T07:09:05.637 回答
1
您不能禁用后退按钮的用户交互。
但是你可以稍微改变你提出观点的方式来完成你想要的。
从您的正常视图开始。检查您是否需要向用户显示登录信息。如果您这样做,则以模态方式呈现登录视图。在登录结束时,您关闭模式视图并返回正常视图,没有不必要的后退按钮。
于 2015-06-04T11:53:19.280 回答
0
这是simbesi.com在 watchOS 7/Swift 5 中的回答。
以模态方式展示新的控制器:
presentController(withName: "NewInterfaceController", context: nil)
通过替换根控制器来呈现新控制器:
WKInterfaceController.reloadRootControllers(
withNamesAndContexts: [
(
name: "NewInterfaceController",
context: "NewInterfaceController" as AnyObject
)
]
)
于 2020-12-21T00:35:26.523 回答