如何隐藏导航栏后退按钮?

Cha*_*lha 20 objective-c ios apple-watch

我正试图在Apple Watch上隐藏导航栏后退按钮.有许多类似于我的问题,但它们适用于iPhone,如果您对Apple Watch了解一点,那么有InterfaceController而不是ViewController.

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

[self pushControllerWithName:@"about" context:nil];
Run Code Online (Sandbox Code Playgroud)

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

任何人都知道如何隐藏或删除Apple Watch的导航栏或后退按钮?

AMA*_*N77 10

我遇到了同样的问题并使用以下方法解决了

NSMutableArray* controllerNames = [NSMutableArray new];
[controllerNames addObject:@"myInterfaceController"];
[WKInterfaceController reloadRootControllersWithNames:controllerNames contexts:myArrayOfData];
Run Code Online (Sandbox Code Playgroud)

当重新加载IC时,它们没有导航后退按钮,因为它们是主IC.

注意

此方法实际上会更改您Initial Controller的监视应用程序中的(主界面控制器与故事板中的箭头).这就是Interface Controller没有后退按钮的原因.


inf*_*oop 5

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

WKInterfaceController.reloadRootControllersWithNames(["myInterfaceController"], contexts: [])
Run Code Online (Sandbox Code Playgroud)


Jay*_*Jay 0

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

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

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

遗产

NSObject -> WKInterfaceController

NSObject -> UIResponder -> UIViewController