Site icon AppTractor

Поваренная книга SwiftUI: понимание представлений (View) и иерархий представлений в SwiftUI

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

Что такое представление (View)?

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

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

Каждое представление имеет родителя и может иметь дочерние элементы. Далее мы рассмотрим, как построить простую иерархию с родителем и двумя дочерними элементами.

Построение иерархии представлений

Сначала добавьте это изображение в файл Assets.xcassets:

Затем замените свой ContentView на следующий:

struct ContentView: View {
  var body: some View {
    VStack {
      Image("Kodeco")
      Text("Welcome to the Kodeco SwiftUI cookbook!")
    }
  }
}

После этого в окне предварительного просмотра должно появиться следующее изображение:

Представление с двумя вложенными представлениями.

В приведенном выше коде мы определяем структуру ContentView, соответствующую протоколу View. Внутри свойства body мы определяем представление VStack, которое представляет собой представление, располагающее свои вложенные представления в виде вертикального стека. В данном примере VStack содержит два вложенных представления (представление Text и представление Image), расположенных вертикально друг над другом.

Обратите внимание, что свойство body использует синтаксис замыкания, в котором задается содержимое иерархии представлений. Возвращаемое значение body должно быть одним представлением, но это представление может содержать множество вложенных представлений, каждое из которых может содержать еще больше вложенных представлений, и так далее.

Стремление к плоской иерархии может повысить простоту и удобство сопровождения. Для сложных иерархий представлений следует использовать различные экземпляры VStack, HStack или ZStack для логической группировки и визуального разделения частей пользовательского интерфейса. (Примечание: Возможно, вас интересует ограничение на количество вложенных представлений; мы затронем эту тему в одном из следующих разделов).

Более подробную информацию можно найти в разделе «Представления и модификаторы в SwiftUI» этого руководства.

Предложите исправление: выделите текст и нажмите Ctrl+ Enter

← Предыдущая статья: Создание и предварительный просмотр представления SwiftUI

Источник

Exit mobile version