如何禁用取消按钮交互?

时间:2015-06-04 11:23:59

标签: ios apple-watch

在苹果手表中,界面控制器左上方有取消标签或屏幕标题。在我的情况下,一旦登录完成,不想回到屏幕。所以我想禁用该取消标签或屏幕标题区域的用户交互。即使标题不存在,它也会进行用户交互,并且会进入屏幕。在此先感谢!!

3 个答案:

答案 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
        )
    ]
)