【问题标题】:remove top left back button删除左上角后退按钮
【发布时间】:2018-03-15 23:11:30
【问题描述】:

我想移除左上角的后退按钮。

我尝试检查“全屏”选项,但箭头仍然在这里。

我想删除后退按钮,因为我在这个按钮旁边有一个按钮,我不希望用户误点击它

谢谢

【问题讨论】:

    标签: swift watchos-4


    【解决方案1】:

    根据Apple Documentation,上一个答案(用于解决此问题)中已弃用的方法已替换为:

    reloadRootPageControllers(withNames names: [String], 
                                contexts: [Any]?, 
                             orientation: WKPageOrientation, 
                               pageIndex: Int)
    

    "参数

    名字

    一个 NSString 对象数组,每个对象都包含故事板文件中接口控制器的标识符。数组中标识符的顺序定义了相应的界面控制器在基于页面的界面中的顺序。

    上下文

    id 类型的对象数组。使用此参数将上下文对象传递给加载到基于页面的界面中的每个界面控制器。数组中的第一个对象传递给第一个接口控制器,第二个对象传递给第二个接口控制器,以此类推。

    方向

    基于页面的界面的滚动方向。有关有效值的列表,请参阅 WKPageOrientation。"

    而且 pageIndex 应该很容易弄清楚。如果 [names] 中只有一个元素,它将为 0。否则,您应该从 [names] 中选择要加载的页面的索引

    【讨论】:

    • 我需要有关 WKPageOrientation 参数的信息。 Cannot convert value of type 'String' to expected argument type 'WKPageOrientation'。你有这方面的例子吗?
    • 如果您阅读文档,它是一个具有两个值 .horizo​​ntal 和 .vertical 的枚举。您也可以使用 0 或 1。
    • 我是新手,当我输入字符串时出现错误:WKPageOrientation type expected
    • 不要使用字符串。就像使用UIColor 一样,您可以设置UIColor.black 之类的值,在大多数情况下,您可以只使用.black,因此对于WKPageOrientation,您可以将其作为参数传递给.horizontal.vertical。如果这不起作用,请致电WKPageOrientation.horizontal NO QUOTES
    【解决方案2】:

    试试:

    WKInterfaceController.reloadRootControllersWithNames(["myInterfaceController"], contexts: [])

    这通过使控制器成为根控制器来删除它。调用此方法后,您可能必须重新加载控制器。

    【讨论】:

    • 我在控制器的 awake() 函数中调用了它,但出现以下错误 Value of type 'MainController' has no member 'navigationItem'。我应该在哪里称呼它?我需要导入一些东西吗?谢谢
    • navigationItem 似乎只适用于 ios 和 tvos
    • 更新了 IntetfaceController 的答案。
    • reloadRootControllersWithNames 对于 watchOS 2.0–4.0 已贬值。你知道reloadRootPageControllersWithNames 中的WKPageOrientation 预期参数是什么吗?
    • @Paul 不知道。对不起
    猜你喜欢
    • 2020-08-28
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    • 2018-04-23
    • 1970-01-01
    • 2017-12-12
    相关资源
    最近更新 更多