Одним из наиболее часто используемых представлений в SwiftUI является представление формы, которое представляет собой контейнер для структурированного группирования связанных элементов управления и полей ввода данных. В этом посте мы рассмотрим основы формы SwiftUI вместе с некоторыми примерами и вариантами использования.
Основы формы SwiftUI
Форма SwiftUI создается с использованием представления Form
, которое представляет собой контейнер, который автоматически настраивает свое содержимое в соответствии с доступным пространством. Представление формы предоставляет несколько стилей по умолчанию для своих дочерних представлений, включая default
, grouped
и insetGrouped
. Вот базовый пример формы:
import SwiftUI struct ContentView: View { @State var firstName: String = "" @State var lastName: String = "" var body: some View { Form { Section { Text("First Name") TextField("Enter your first name", text: $firstName) } Section { Text("Last Name") TextField("Enter your last name", text: $lastName) } Section { Button("Submit") { // Save form data } } } } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView(firstName: "Nick", lastName: "Jensen") } }
Приведенный выше код создаст следующее представление:
В этом примере мы создали простую форму с двумя разделами: один для имени и один для фамилии. Каждый раздел содержит представление Text и представление TextField. Мы также добавили третий раздел с представлением кнопок для сохранения данных формы.
Это почти самая простая форма, которую вы можете сделать, и вы получаете заполнитель из коробки — красиво и легко.
Примеры использования формы SwiftUI
SwiftUI Form — это универсальное представление, которое можно использовать в самых разных случаях и которое немного упрощает вашу жизнь.
Вот несколько примеров использования Form:
Формы ввода данных
Одним из наиболее распространенных вариантов использования SwiftUI Form являются формы ввода данных. Формы можно использовать для сбора пользовательского ввода для создания профилей, отправки отзывов или заполнения опросов. В дополнение к TextField, формы могут содержать другие типы элементов управления вводом, такие как Toggle, DatePicker и Stepper.
struct FeedbackForm: View { @State var feedbackText = "" @State var rating = 5 @State var isAnonymous = false var body: some View { Form { Section(header: Text("Feedback")) { TextField("Enter your feedback", text: $feedbackText) Stepper("Rating: \(rating)", value: $rating, in: 1...10) } Section { Toggle("Anonymous", isOn: $isAnonymous) } Section { Button("Submit") { // Submit feedback } } } } }
Приведенный выше код создаст следующее представление:
В этом примере мы создали форму обратной связи с TextField для сбора отзывов, Stepper для оценки, Toggle для анонимности и Button для отправки отзыва.
Экраны настроек
Другим распространенным вариантом использования формы SwiftUI являются экраны настроек. Формы могут группировать связанные параметры и предпочтения, такие как профили пользователей, уведомления и конфиденциальность.
В следующем примере кода мы создадим удобный экран настроек, на котором будут отображаться имя пользователя и адрес электронной почты. Экран также позволит пользователю включить уведомления. Это сделано с помощью формы, которая содержит два раздела.
struct SettingsScreen: View { @State var notificationsEnabled = true @State var selectedSound = "" var body: some View { Form { Section(header: Text("User")) { Text("Name: Mike") Text("Email: [email protected]") } Section(header: Text("Notifications")) { Toggle("Enable notifications", isOn: $notificationsEnabled) Picker("Notification sound", selection: $selectedSound) { Text("Default").tag("default") Text("Chimes").tag("chimes") Text("Synth").tag("synth") } } } } }
Приведенный выше код даст следующий результат:
Сводка по форме SwiftUI
В заключение, SwiftUI Form — ценный инструмент для разработчиков, стремящихся создавать интуитивно понятные и эффективные пользовательские интерфейсы в своих приложениях для iOS.
Благодаря простоте использования, параметрам настройки и возможностям динамического изменения размера и прокрутки Form упрощает создание сложных форм с различными типами и стилями ввода.
SwiftUI Form может значительно улучшить взаимодействие с пользователем и упростить процесс разработки приложений, что делает его отличным выбором для разработчиков.
Первоначально опубликовано на https://softwareanders.com 27 марта 2023 г.