Подтвердить что ты не робот

Как скрыть навигационную панель назад?

Я пытаюсь скрыть навигационную панель назад на Apple Watch. Есть много вопросов, похожих на мои, но они для iPhone, и если вы немного знаете об Apple Watch, вместо ViewController есть InterfaceController.

Итак, когда я нажимаю новый InterfaceController, используя следующий код:

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

Он показывает кнопку "Назад" на панели навигации выше и возвращает ее назад к предыдущему интерфейсу, из которого он создан.

Кто-нибудь знает, как скрыть или удалить панель навигации или эту кнопку назад от Apple Watch?

4b9b3361

Ответ 1

У меня была такая же проблема, и я решил ее:

NSMutableArray* controllerNames = [NSMutableArray new];
[controllerNames addObject:@"myInterfaceController"];
[WKInterfaceController reloadRootControllersWithNames:controllerNames contexts:myArrayOfData];

Когда ИС перезагружаются, у них нет кнопок навигации, поскольку они являются основным IC.

Примечание

Этот метод фактически изменит ваш Initial Controller (главный контроллер интерфейса со стрелкой в ​​раскадровке.) вашего часового приложения, вот почему Interface Controller не имеет кнопки возврата.

Ответ 2

Вот версия Swift для всех трейлеров:

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

Ответ 3

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

Но вы потеряете анимацию "push".

Ответ 4

Если вы удалите кнопку "Назад", как вы планируете вернуться к предыдущему экрану?

Это мои наблюдения за кнопками навигации в Apple Watch: до сих пор мы не нашли способа перетащить заголовок или удалить его. Даже они предоставили возможность добавлять заголовок, но не могли настроить шрифт или что-то еще. Скорее всего, когда Apple выпустит оригинальную версию, они предоставят все варианты.

UIKit и WK-kit В UIKit вы можете скрыть его с помощью свойства hidesbackbutton, но в режиме просмотра он покажет вам предыдущий заголовок контроллера интерфейса. В UIKit мы используем UIViewController, но в Watch это WKInterfaceController.

Наследование

NSObject → WKInterfaceController

NSObject → UIResponder → UIViewController