Как скрыть навигационную панель назад?
Я пытаюсь скрыть навигационную панель назад на Apple Watch. Есть много вопросов, похожих на мои, но они для iPhone, и если вы немного знаете об Apple Watch, вместо ViewController есть InterfaceController.
Итак, когда я нажимаю новый InterfaceController, используя следующий код:
[self pushControllerWithName:@"about" context:nil];
Он показывает кнопку "Назад" на панели навигации выше и возвращает ее назад к предыдущему интерфейсу, из которого он создан.
Кто-нибудь знает, как скрыть или удалить панель навигации или эту кнопку назад от Apple Watch?
Ответы
Ответ 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