我试图在Apple Watch上隐藏/禁用/删除导航栏后退按钮。 还试图隐藏状态栏。
我推了一个新的InterfaceController
,如:
[self pushControllerWithName:@"applewatch" context:nil];
任何人都知道如何隐藏/禁用/删除导航栏或隐藏Apple Watch的状态栏?
答案 0 :(得分:0)
目前似乎没有办法隐藏原生导航控件,因此我使用reloadRootControllersWithNames:contexts:并通过上下文传递任何持久的应用程序状态,然后在导航回传时将其传递回上一个控制器。这将显示页面加载动画而不是推送幻灯片动画,但它可以工作。
在控制器1中:
- (void)awakeWithContext:(id)context {
[super awakeWithContext:context];
if (context) {
// Restore state from context and update any UI
[self.controllerVar1 = context objectForKey:@"controllerVar1"];
[self.controllerVar2 = context objectForKey:@"controllerVar2"];
}
}
// Call from method that is initiating navigation
[Controller1 reloadRootControllerWithNames:@[ @"Controller2" ] contexts:@[ @{ @"controllerVar1" : self.controllerVar1, @"controllerVar2" : self.controllerVar2 } ]];
在控制器2中:
- (void)awakeWithContext:(id)context {
[super awakeWithContext:context];
self.previousControllerState = context;
}
- (void)navigateBack {
[Controller2 reloadRootControllerWithNames:@[ @"Controller1" ] contexts:@[self.previousControllerState]];
}