Загрузить второй интерфейс приложения в переходе

В основном то, что я хочу сделать, изображено на изображении ниже:

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

Изображение перехода

Я хотел бы иметь возможность загрузить второй интерфейс и провести пальцем влево для первого и провести пальцем вправо для третьего. Есть ли способ добиться этого?


person Evernoob    schedule 29.05.2015    source источник
comment
Я в xcode - кажется, что эти переходы отношений помогают, но они однонаправлены. Я хотел запустить приложение со второго экрана... я использовал неправильный тип перехода?   -  person Evernoob    schedule 29.05.2015
comment
Почему все говорят об UIViewControllers и пользовательских переходах? Это вопрос об Apple Watch, и здесь ничего из этого не применимо. Тем не менее, @Evernoob может попробовать установить основную точку входа на первый контроллер, а затем второй контроллер немедленно вызовет becomeCurrentPage.   -  person Mike Swanson    schedule 29.05.2015


Ответы (2)


Создаю свое первое приложение для Apple Watch здесь :)

Похоже, что в WKInterfacesController встроена концепция поведения UINavigationController.

Взгляните на: pushControllerWithName(_:context:)

В некоторых документах я нашел здесь:

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

РЕДАКТИРОВАТЬ: Изучите это еще немного. WatchKit в настоящее время очень ограничен внешним видом.

Лучшее решение, которое я мог придумать, состояло в том, чтобы добавить три InterfaceController с переходами между ними. Слева -> Главное -> Справа.

введите здесь описание изображения

Затем назначьте пользовательский SKInterfaceController для Main:

class InterfaceController: WKInterfaceController {  
  override init() {
    super.init()
    becomeCurrentPage()
  } 
}

Это создает раздражающую анимацию в начале, когда вы видите «Left» при запуске и как анимируется «Main». Я не вижу лучшего способа сделать это на этой ранней стадии WatchKit.

person Mikael Hellman    schedule 29.05.2015
comment
Да, это довольно разочаровывает. Похоже, что на данный момент часы имеют очень ограниченную функциональность. - person Evernoob; 01.06.2015

Размещение ViewController не имеет реального «физического» значения.

Переход (стрелки) просто определяет способ перехода от «этого» ViewController к другому.

http://www.raywenderlich.com/81880/storyboards-tutorial-swift-part-2

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

Чтобы получить анимацию фактического сдвига представления влево, потребуется собственный переход:

http://mathewsanders.com/animated-transitions-in-swift/

person Mikael Hellman    schedule 29.05.2015
comment
Вопрос касается WKInterfaceController страниц WatchKit, а не UIViewController. Кроме того, часы не поддерживают пользовательские переходы. - person Mike Swanson; 29.05.2015
comment
Извините, что пропустил эту часть :) - person Mikael Hellman; 29.05.2015