В watchOS возможно ли отобразить представление без кнопки строки состояния, которая ведет к корневому представлению?

Я хотел бы иметь структуру навигации, аналогичную встроенному приложению Workout в watchOS. У меня есть список форматов теннисных правил, аналогичных типам тренировок в приложении "Тренировки". Нажатие одного запускает совпадение в новом контроллере интерфейса. В WatchKit, насколько я знаю, я могу только нажать интерфейсный контроллер или представить его. Оба подхода могут привести к тому, что пользователь отменит совпадение ранее из верхнего левого шеврона или постукивает по строке состояния в представленном модальном режиме.

Тренировка не имеет такого ограничения во время сеанса тренировки, вместо этого пользователь завершает тренировку переключением страниц в своей навигации на основе страниц. Позволяет ли SwiftUI с его полностью программным способом разработки приложений watchOS достигать этого?

0 ответов

Возможно, вам нужно изменить свое представление с помощью:

    .navigationBarBackButtonHidden(true)

Вы пробовали это?

Я думаю, вам нужно взглянуть на reloadRootPageControllers()

См. https://developer.apple.com/documentation/watchkit/wkinterfacecontroller/2868441-reloadrootpagecontrollers

Основная идея, по-видимому, заключается в том, что вы заменяете текущие контроллеры интерфейса именованными, перечисленными в этом методе.

WKInterfaceController.reloadRootPageControllers(withNames: ["workout","nowPlaying"], contexts: [workoutToRecord], orientation: WKPageOrientation.horizontal, pageIndex: 0)

В моем приложении для интервальных тренировок я вызываю этот метод, когда пользователь выбирает тренировку. и этот интерфейс затем заменяется интерфейсом тренировки и теперь страница воспроизведения.

Вы заметите, что у них нет кнопки возврата, чтобы они могли случайно вернуться на экран выбора тренировки.

Надеюсь, это поможет.

Другие вопросы по тегам