在苹果手表中,界面控制器左上方有取消标签或屏幕标题。在我的情况下,一旦登录完成,不想回到屏幕。所以我想禁用该取消标签或屏幕标题区域的用户交互。即使标题不存在,它也会进行用户交互,并且会进入屏幕。在此先感谢!!
答案 0 :(得分:14)
我们无法禁用后退/取消按钮用户缩进,但可以在没有取消按钮的情况下加载控制器。
presentControllerWithName("NewInterfaceController", context: nil)
presentControllerWithName 这将为控制器提供取消按钮。如果我们使用如下所示将无法获得取消按钮。
WKInterfaceController.reloadRootControllersWithNames(["NewInterfaceController"], contexts: ["NewInterfaceController"])
reloadRootControllersWithNames 这会使我们的控制器成为根控制器,所以我们不会得到取消按钮。这就是我解决问题的方法。希望它也会对你有所帮助。
注意:这里[]是语法。 exp:[“NewInterfaceController”]
答案 1 :(得分:1)
您无法禁用后退按钮的用户互动。
但是你可以改变你提出意见的方式,以达到你想要的效果。
从普通视图开始。检查是否需要向用户显示登录信息。如果这样做,则以模态方式显示登录视图。在登录结束时,您关闭模态视图,然后返回普通视图,没有不必要的后退按钮。
答案 2 :(得分:0)
这是 watchOS 7/Swift 5 中的 simbesi.com's answer。
以模态方式呈现新控制器:
presentController(withName: "NewInterfaceController", context: nil)
通过替换根控制器来呈现新控制器:
WKInterfaceController.reloadRootControllers(
withNamesAndContexts: [
(
name: "NewInterfaceController",
context: "NewInterfaceController" as AnyObject
)
]
)