Общие сведения о раскадровки в Xamarin.Mac

В этой статье приведены общие сведения о работе с раскадровки в приложении Xamarin.Mac. В ней описывается создание и обслуживание пользовательского интерфейса приложения с помощью раскадровок и конструктора Interface Builder.

Раскадровки позволяют разрабатывать пользовательский интерфейс для приложения Xamarin.Mac, которое не только включает определения окон и элементы управления, но и содержит связи между различными окнами (через последовательности) и состояния просмотра.

A sample UI in Xcode

В этой статье приведены общие сведения об использовании раскадровки для определения пользовательского интерфейса приложения Xamarin.Mac.

Что такое раскадровки?

Используя раскадровки, все пользовательский интерфейс приложения Xamarin.Mac можно определить в одном расположении со всеми элементами навигации между отдельными элементами и пользовательскими интерфейсами. Раскадровки для Xamarin.Mac работают очень похоже на раскадровки для Xamarin.iOS. Однако они содержат другой набор типов Segue из-за различных идиом интерфейсов.

Работа с сценами

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

An example view controller

Каждая сцена представляет определенную пару контроллера представления и представления с набором строк (называемых Segues), которые подключают каждую сцену в пользовательском интерфейсе, что показывает их связи. Некоторые segues определяют, как один контроллер представления содержит один или несколько дочерних представлений или контроллеров представления. Другие segues определяют переходы между контроллером представления (например, отображение всплывающего окна или диалогового окна).

A sample segue

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

Работа с контроллерами представления

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

An example slips view controller

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

В данной сцене можно выполнять все действия, которые обычно обрабатываются отдельными .xib файлами:

  • Поместите вложенные представления и элементы управления (например, кнопки и текстовые поля).
  • Определение позиций элементов и ограничений автоматического макета.
  • Проводные действия и точки для предоставления элементов пользовательского интерфейса коду.

Работа с Segues

Как упоминалось выше, Segues предоставляет связи между всеми сценами, определяющими пользовательский интерфейс приложения. Если вы знакомы с работой в раскадровки в iOS, вы знаете, что segues for iOS обычно определяют переходы между представлениями полноэкранного экрана. Это отличается от macOS, когда Segues обычно определяет "сдерживание" (где одна сцена является дочерним элементом родительской сцены).

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

Учитывая тенденции macOS к сдерживанию, существуют ситуации, когда используются segues презентации, такие как модальные окна, представления листов и всплывающие окна.

При использовании segues presentation можно переопределить PrepareForSegue метод родительского контроллера представления для представления для инициализации и переменных, а также предоставить любые данные для представленного контроллера представления.

Время разработки и выполнения

Во время разработки (при макете пользовательского интерфейса в построителе интерфейсов Xcode) каждый элемент пользовательского интерфейса приложения разбивается на составляющие элементы:

  • Сцены — которые состоят из:
    • Контроллер представления — определяет связи между представлениями и данными, поддерживающими их.
    • Представления и подвиды — фактические элементы, составляющие пользовательский интерфейс.
    • Segues - Это определяет отношения между сценами с родительским дочерним элементом.
  • Segues презентации — это определение отдельных режимов презентации.

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

Краткое руководство по раскадровки

В кратком руководстве по началу работы с раскадровки мы создадим простое приложение Xamarin.Mac, включающее основные понятия работы с раскадровки для создания пользовательского интерфейса. Пример приложения будет состоять из представления Spilt, содержащего область содержимого и область инспектора, и будет представлено простое диалоговое окно параметров. Мы будем использовать segues для объединения всех элементов пользовательского интерфейса.

Работа с элементами раскадровки

В этом разделе рассматриваются подробные сведения о работе с раскадровки в приложении Xamarin.Mac. Мы подробно рассмотрим сцены и о том, как они состоят из контроллеров представления и представлений. Затем мы рассмотрим, как сцены связаны вместе с Segues. Наконец, мы рассмотрим работу с пользовательскими типами Segue.

Пример сложной раскадровки

Пример работы с раскадровками в приложении Xamarin.Mac см. в примере приложения SourceWriter. SourceWriter — это простой редактор исходного кода, который предоставляет поддержку для автозавершения и выделения простого синтаксиса.

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

Итоги

В этой статье описано, как работать с раскадровками в приложении Xamarin.Mac. Мы узнали, как создать приложение с помощью раскадровки и как определить пользовательский интерфейс. Мы также узнали, как перемещаться между различными окнами и просматривать состояния с помощью segues.