Build: Home Screen
This screen shows a list of items. When you tap an item, it navigates to a detail screen showing the item name.
Target UI
Home Screen ---------------- | Item 1 | | Item 2 | | Item 3 | ---------------- Tap an item to see details.
Home Screen ---------------- | Item 1 | | Item 2 | | Item 3 | ---------------- Tap an item to see details.
import SwiftUI struct ContentView: View { var body: some View { NavigationView { List { // TODO: Add NavigationLinks here } .navigationTitle("Home Screen") } } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } struct DetailView: View { var itemName: String var body: some View { Text(itemName) .font(.largeTitle) .navigationTitle("Detail") } }
import SwiftUI struct ContentView: View { let items = ["Item 1", "Item 2", "Item 3"] var body: some View { NavigationView { List(items, id: \.self) { item in NavigationLink(destination: DetailView(itemName: item)) { Text(item) } } .navigationTitle("Home Screen") } } } struct DetailView: View { var itemName: String var body: some View { Text(itemName) .font(.largeTitle) .navigationTitle("Detail") } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } }
We use a NavigationView to enable navigation in the app. Inside it, a List shows three items. Each item is wrapped in a NavigationLink that points to DetailView, passing the item name. When the user taps an item, the app navigates to the detail screen showing the selected item name. The navigationTitle sets the title for each screen.
Home Screen ---------------- | Item 1 | | Item 2 | | Item 3 | ---------------- User taps "Item 2" Detail Screen ---------------- | Item 2 | ----------------
NavigationLink in SwiftUI?NavigationLink is used to create tappable items that navigate to another view.NavigationLink(destination: View) { LabelView }.NavigationView {
NavigationLink(destination: ProfileView()) {
Text("Go to Profile")
}
}NavigationLink(destination: Text("Details"))
Text("Tap here")Pass the test and this pattern moves unknown