【问题标题】:How to hide navigation bar back button?如何隐藏导航栏后退按钮?
【发布时间】:2015-01-19 06:47:08
【问题描述】:

我正在尝试隐藏 Apple Watch 上的导航栏后退按钮。有很多与我类似的问题,但它们是针对 iPhone 的,如果您对 Apple Watch 有一点了解,这里有 InterfaceController 而不是 ViewController。

所以当我使用下面的代码推送一个新的 InterfaceController 时:

[self pushControllerWithName:@"about" context:nil];

它在上面的导航栏上显示一个后退按钮,并将其带回到生成它的上一个 InterfaceController。

有人知道如何在 Apple Watch 上隐藏或移除导航栏或此后退按钮吗?

【问题讨论】:

  • 您可以将色调颜色更改为清除或将 nil 字符串标题添加到后退按钮,希望它有效。

标签: ios objective-c apple-watch


【解决方案1】:

我遇到了同样的问题并使用:

NSMutableArray* controllerNames = [NSMutableArray new];
[controllerNames addObject:@"myInterfaceController"];
[WKInterfaceController reloadRootControllersWithNames:controllerNames contexts:myArrayOfData];

重新加载 IC 时,它们没有导航返回按钮,因为它们是主 IC。

注意

这个方法实际上改变了你的手表应用程序的Initial Controller(主界面控制器,故事板中带有箭头。),这就是Interface Controller没有后退按钮的原因。

【讨论】:

  • 这是我一直在寻找的,应该被接受的答案。您可以在运行时使用上下文创建自己的自定义导航层次结构。
【解决方案2】:

这里是所有开拓者的 Swift 版本:

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

【讨论】:

    【解决方案3】:
    + (void)reloadRootControllersWithNames:(NSArray *)names contexts:(NSArray *)contexts;
    

    但你会失去“推”动画。

    【讨论】:

      【解决方案4】:

      如果您移除后退按钮,您打算如何返回上一屏幕?

      这是我对 Apple Watch 中导航按钮的观察: 到目前为止,我们还没有找到任何方法来覆盖或删除后退按钮标题。即使他们提供了添加标题的选项,但无法自定义字体或任何东西。很可能当 Apple 发布原始版本时,他们会提供所有选项。

      UIKit 和 WK-kit 在 UIKit 中,您实际上可以使用 hidesbackbutton 属性隐藏它,但在 watch 中它会显示之前的界面控制器标题。在 UIKit 中,我们使用的是 UIViewController,但在 Watch 中使用的是 WKInterfaceController。

      继承

      NSObject -> WKInterfaceController

      NSObject -> UIResponder -> UIViewController

      【讨论】:

      • 我正在使用InterfaceController 中的一个按钮来推动控制器。我使用这个按钮而不是导航栏上的后退按钮是一种强迫。
      • UIKit 框架中有一个名为UINavigationBar 的类,它包含一些隐藏后退按钮的方法。我尝试了它们,但它们没有用,或者可能是我没有正确应用它们。可以看看吗?
      • Talha,在 UIKit 中,您实际上可以使用 hidesbackbutton 属性隐藏它,但在 watch 中它会显示之前的界面控制器标题。在 UIKit 中,我们使用的是 UIViewController,但在 Watch 中使用的是 WKInterfaceController。
      • 我明白了...我认为 UIKit 可以解决问题!谢谢你的帮助。 :)
      猜你喜欢
      • 2012-07-03
      • 2012-04-21
      • 2015-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-13
      • 1970-01-01
      相关资源
      最近更新 更多