[英]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.