В SwiftUI панель навигации играет решающую роль в обеспечении удобной навигации и взаимодействия с пользователем внутри приложения. Добавление кнопок на панель навигации позволяет пользователям выполнять определенные действия или запускать события. В этой статье блога мы рассмотрим различные способы добавления кнопок панели навигации в SwiftUI, а также примеры кода.
Метод 1: использование модификатора NavigationBarItems
Модификатор NavigationBarItems — это самый простой способ добавить кнопки панели навигации в SwiftUI. Он позволяет добавлять начальные и конечные элементы панели навигации.
struct ContentView: View {
var body: some View {
NavigationView {
Text("Hello, SwiftUI!")
.navigationBarItems(
leading: Button(action: {
// Perform action for leading button
}) {
Image(systemName: "gear")
},
trailing: Button(action: {
// Perform action for trailing button
}) {
Image(systemName: "plus")
}
)
}
}
}
Метод 2: использование ToolbarItem с модификатором размещения
Модификатор ToolbarItem обеспечивает большую гибкость, позволяя указать расположение кнопки панели навигации, например, в начале, в конце или в нижней части панели навигации.
struct ContentView: View {
@State private var isButtonTapped = false
var body: some View {
NavigationView {
Text("Hello, SwiftUI!")
.toolbar {
ToolbarItem(placement: .navigationBarLeading) {
Button(action: {
// Perform action for leading button
}) {
Image(systemName: "gear")
}
}
ToolbarItem(placement: .navigationBarTrailing) {
Button(action: {
// Perform action for trailing button
self.isButtonTapped = true
}) {
Image(systemName: "plus")
}
}
}
}
}
}
Метод 3. Настройка панели навигации с помощью NavigationBarModifier
Если вам требуются дополнительные параметры настройки для кнопок панели навигации, вы можете использовать NavigationBarModifier для создания пользовательского представления панели навигации.
Content) ->some View {
content
.navigationBarItems(trailing: {
Button(action: {
// Выполнение действия для пользовательской кнопки
}) {
Text(“Пользовательская кнопка”)
.foregroundColor(.blue)
}())
struct ContentView: View {
var body: some Просмотр {
NavigationView {
Text («Привет, SwiftUI!»)
.modifier(CustomNavigationBar())
В этой статье мы рассмотрели три различных метода добавления кнопок панели навигации в SwiftUI. Первый метод использует модификатор NavigationBarItems, предоставляющий простой способ добавления ведущих и завершающих кнопок. Второй метод использует модификатор ToolbarItem, позволяющий лучше контролировать размещение кнопок. Наконец, мы обсудили создание пользовательской панели навигации с использованием NavigationBarModifier для расширенных возможностей настройки.