如何隐藏/禁用/删除导航栏后退按钮或隐藏苹果手表的状态栏?

时间:2015-03-12 09:05:55

标签: ios objective-c xcode apple-watch xcode-6.2

我试图在Apple Watch上隐藏/禁用/删除导航栏后退按钮。 还试图隐藏状态栏。

我推了一个新的InterfaceController,如:

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

任何人都知道如何隐藏/禁用/删除导航栏或隐藏Apple Watch的状态栏?

1 个答案:

答案 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]];

}