Изучение различных методов добавления кнопки панели навигации в SwiftUI

В 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 для расширенных возможностей настройки.