繁体   English   中英

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

[英]How to hide navigation bar back button?

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

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

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

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

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

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

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

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

注意

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

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

WKInterfaceController.reloadRootControllersWithNames(["myInterfaceController"], contexts: [])
+ (void)reloadRootControllersWithNames:(NSArray *)names contexts:(NSArray *)contexts;

但是你将失去'推'动画。

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

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

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

遗产

NSObject - > WKInterfaceController

NSObject - > UIResponder - > UIViewController

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM