SwiftUI LazyVGrid组件如何正确方式给.sheet传递选择内容

实战需求

SwiftUI LazyVGrid组件如何正确方式给.sheet传递选择内容?
经典教程告诉我们可以通过@State var bool类型来控制sheet显示

@State var showingDetail = false
.sheet(isPresented: $showingDetail) {
                                DetailView(item: item)
                            }

但是在复杂的结构里面,这种做法很容易产生错误效果。下面就让我们实验一种新的方法吧!

本文价值与收获

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

LazyVGrid组件如何正确方式给.sheet
LazyVGrid组件如何正确方式给.sheet

看完本文您将掌握的技能

  • 掌握 LazyVGrid基础使用
  • 掌握.sheet基础使用
  • 设置选择内容

基础知识

GeometryReader 获取到父view建议的尺寸

一个容器视图,根据其自身大小和坐标空间定义其内容。

@frozen struct GeometryReader<Content> where Content : View

总览

此视图将灵活的首选大小返回到其父布局。


主题

创建几何读取器

init(content: (GeometryProxy) -> Content)


应用标准修饰符

查看修饰符


通过应用标准修饰符配置此视图及其包含的视图。


实例属性

var content: (GeometryProxy) -> Content

关系

符合View


LazyVGrid

一种容器视图,将其子视图排列在垂直增长的网格中,仅在需要时创建项目。

struct LazyVGrid<Content> where Content : View

总览

总览
网格是“惰性”的,因为网格视图在需要它们之前不会创建项目。

在以下示例中,包含一个由两列视图组成的网格,其中显示了来自“ Smileys”组的Unicode代码点及其对应的表情符号:ScrollViewLazyVGridText

还有 55% 的精彩内容
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
支付 ¥1.59 继续阅读

友情链接更多精彩内容