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

实战需求

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

本文价值与收获

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

截屏2020-11-02 下午9.56.42.png
Jietu20201102-215819.gif

看完本文您将掌握的技能

  • ObservableObject
  • ObservedObject
  • NavigationView
  • NavigationLink

基础知识

NavigationLink

控制导航演示的视图。

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

主题

创建导航链接

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

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

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

创建一个呈现的实例destination。

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

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

4、init(destinationName: String, isActive: Binding<Bool>, 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<V?>, 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<Bool>)

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

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

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

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

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

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

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


配置链接

13、func isDetailLink(Bool) -> some View

设置是否将其目的地显示为contains的“详细信息”组件。NavigationLinkNavigationView
Label符合View和Destination符合时可用View。


实战代码

还有 24% 的精彩内容
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
支付 ¥5.90 继续阅读