ContentView.swift
// // ContentView.swift // SwiftUIProject // // Created by Cairocoders // import SwiftUI struct ContentView: View { var body: some View { NavigationView { List(0..<20) { rs in NavigationLink(destination: DetailsView().navigationBarBackButtonHidden(true)) { Text("Details Custom Navigation Bar \(rs)") } } .navigationBarTitle("Custom Navigation Bar") } } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } }DetailsView.swift
// // DetailsView.swift // SwiftUIProject // // Created by Cairocoders // import SwiftUI struct DetailsView: View { @Environment(\.presentationMode) var presentationMode @State var items = [Item]() var body: some View { //Wrap ContentView into a NavigationView List(items) { item in Text(item.name) } //Add navigation bar title .navigationTitle("Todo List") //Initialize toolbar .toolbar(content: { //Declare one ToolBarItem for each navigation bar button and set the position ToolbarItem(placement: .navigationBarLeading) { Button(action: { self.presentationMode.wrappedValue.dismiss() }) { Image(systemName: "chevron.backward") .imageScale(.large) } } ToolbarItem(placement: .navigationBarLeading) { Button(action: { addTask() }) { Image(systemName: "plus.circle") .imageScale(.large) } } ToolbarItem(placement: .navigationBarTrailing) { Button(action: { removeTask() }) { Image(systemName: "minus.circle") .imageScale(.large) } } }) } func addTask() { let item = Item(id: items.count+1, name: "Sample Todo List") items.append(item) } func removeTask() { items.removeLast() } } struct DetailsView_Previews: PreviewProvider { static var previews: some View { DetailsView() } } struct Item : Identifiable { var id : Int var name : String }