swiftui 轨迹_SwiftUI 官方教程(六)

6. 在列表和详情之间设置导航

虽然列表已经能显示了,但是我们还不能通过点击单个地标来查看地标详情页面。SwiftUI教程

把 list 嵌入一个 NavigationView 中,并把每个 row 嵌套在一个 NavigationButton 中来设置到目标 view 的转场,这样 list 就具有了导航功能。

6.1 把自动创建地标的 list 嵌入到一个 NavigationView 中。

LandmarkList.swift

import SwiftUI

struct LandmarkList: View {

var body: some View {

NavigationView {

List(landmarkData) { landmark in

LandmarkRow(landmark: landmark)

}

}

}

}

struct LandmarkList_Previews: PreviewProvider {

static var previews: some View {

LandmarkList()

}

}

调用 navigationBarTitle(_:) 方法来设置 list 显示时导航栏的标题。

LandmarkList.swift

import SwiftUI

struct LandmarkList: View {

var body: some View {

NavigationView {

List(landmarkData) { landmark in

LandmarkRow(landmark: landmark)

}

.navigationBarTitle(Text("Landmarks"))

}

}

}

struct LandmarkList_Previews: PreviewProvider {

static var previews: some View {

LandmarkList()

}

}

6.3 在 list 的闭包中,把返回的 row 包装在一个 NavigationButton 中,并把 LandmarkDetailview 作为目标。SwiftUI教程

LandmarkList.swift

import SwiftUI

struct LandmarkList: View {

var body: some View {

NavigationView {

List(landmarkData) { landmark in

NavigationButton(destination: LandmarkDetail()) {

LandmarkRow(landmark: landmark)

}

}

.navigationBarTitle(Text("Landmarks"))

}

}

}

struct LandmarkList_Previews: PreviewProvider {

static var previews: some View {

LandmarkList()

}

}

6.4 切换到实时模式后可以直接在预览中尝试导航功能。单击 Live Preview 按钮,然后点击地标来访问详情页面。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值