我正试图在Apple Watch上隐藏导航栏后退按钮。有很多类似于我的问题,但它们适用于iPhone,如果您对Apple Watch有一点了解,那么有InterfaceController而不是ViewController。
所以当我使用下面的代码推送一个新的InterfaceController时:
[self pushControllerWithName:@"about" context:nil];
它在上面的导航栏上显示了一个后退按钮,它将它带回到之前生成它的InterfaceController。
任何人都知道如何隐藏或删除Apple Watch中的导航栏或此后退按钮?
答案 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