148bbd966303abedc4e8a42af7c2e9e9
SwiftUI NavigationLink切换和返回时调用函数 (教程含源码)

实战需求

SwiftUI NavigationLink切换和返回时调用函数

本文价值与收获

看完本文后,您将能够作出下面的界面

截屏2020-11-02 下午9.56.42.png

截屏2020-11-02 下午9.56.42.png

Jietu20201102-215819.gif

Jietu20201102-215819.gif

看完本文您将掌握的技能

  • ObservableObject
  • ObservedObject
  • NavigationView
  • NavigationLink

基础知识

控制导航演示的视图。

struct NavigationLink<Label, Destination> where Label : View, Destination : View

主题

创建导航链接

1、init(destination: Destination, isActive: Binding, label: () -> Label)

创建一个destination活动时显示的实例。

2、init(destination: Destination, label: () -> Label)

创建一个呈现的实例destination。

3、init< V >(destination: Destination, tag: V, selection: Binding, label: () -> Label)

创建一个实例,该实例destination在selection设置为时显示tag。

4、init(destinationName: String, isActive: Binding, label: () -> Label)

创建一个实例,该实例在活动时呈现在情节提要中定义的视图。
如果可用Label符合View和Destination是。_WKStoryboardContent

5、init(destinationName: String, label: () -> Label)

创建一个实例,该实例呈现在情节提要中定义的视图。
如果可用Label符合View和Destination是。_WKStoryboardContent

6、init< V >(destinationName: String, tag: V, selection: Binding, label: () -> Label)

创建在故事板中定义呈现视图时一个实例selection被设定为tag。
如果可用Label符合View和Destination是。_WKStoryboardContent

7、init(LocalizedStringKey, destination: Destination)

创建一个呈现为的实例,该实例destination具有Text从标题字符串生成的标签。
Label是Text且Destination符合时可用View。

8、init< S >(S, destination: Destination)

创建一个呈现为的实例,该实例destination具有Text从标题字符串生成的标签。
Label是Text且Destination符合时可用View。

9、init< S >(S, destination: Destination, isActive: Binding)

创建一个实例,该实例destination在活动时显示,带有Text从标题字符串生成的标签。
Label是Text且Destination符合时可用View。

10、init(LocalizedStringKey, destination: Destination, isActive: Binding)

创建一个实例,该实例destination在活动时显示,带有Text从标题字符串生成的标签。
Label是Text且Destination符合时可用View。

11、init< V >(LocalizedStringKey, destination: Destination, tag: V, selection: Binding)

创建一个实例,该实例显示destination何时selection设置为tag,带有Text从标题字符串生成的标签。
Label是Text且Destination符合时可用View。

12、init< S, V >(S, destination: Destination, tag: V, selection: Binding)

创建一个实例,该实例显示destination何时selection设置为tag,带有Text从标题字符串生成的标签。
Label是Text且Destination符合时可用View。


配置链接

13、func isDetailLink(Bool) -> some View
top Created with Sketch.