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

时间:2015-01-19 06:47:08

标签: ios objective-c apple-watch

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

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

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

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

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

4 个答案:

答案 0 :(得分:10)

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

return ([self.pushReference.setsPicker selectedRowInComponent:0]+1);
// +1 because index 0 is 1 row. 
}

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

注意

此方法实际上会更改您的观看应用的NSMutableArray* controllerNames = [NSMutableArray new]; [controllerNames addObject:@"myInterfaceController"]; [WKInterfaceController reloadRootControllersWithNames:controllerNames contexts:myArrayOfData]; (主界面控制器中带箭头的故事板。),这就是Initial Controller没有后退按钮的原因。

答案 1 :(得分:3)

以下是所有开拓者的Swift版本:

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

答案 2 :(得分:1)

+ (void)reloadRootControllersWithNames:(NSArray *)names contexts:(NSArray *)contexts;

但是你会失去“推动”。动画。

答案 3 :(得分:0)

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

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

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

继承

NSObject - > WKInterfaceController

NSObject - > UIResponder - >的UIViewController