经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » iOS » 查看文章
SwiftUI 简明教程之OutlineGroup、DiclosureGroupView
来源:cnblogs  作者:Bruce2077  时间:2021/6/21 10:04:59  对本文有异议

本文为 Eul 样章,如果您喜欢,请移步 AppStore/Eul 查看更多内容。

Eul 是一款 SwiftUI & Combine 教程 App(iOS、macOS),以文章(文字、图片、代码)配合真机示例(Xcode 12+、iOS 14+,macOS 11+)的形式呈现给读者。笔者意在尽可能使用简洁明了的语言阐述 SwiftUI & Combine 相关的知识,使读者能快速掌握并在 iOS 开发中实践。

OutlineGroup

OutlineGroup 与前面章节提到的可展开列表类似,只是它的使用范围更广,我们不一定要在 List 中才能实现可展开功能。在任何一个 View 中,我们都可以用 OutlineGroup 实现可展开功能。

同样以前面提到的树形结构的 weathers 为例:

OutlineGroup(expandWeather, children: \.weathers) { weather in
  Label(weather.name, systemImage: weather.icon)
}

这和之前 List 的使用方法几乎一模一样。

DiclosureGroupView

DiclosureGroupView 同样可以实现树形结构的展开/收拢,它使用起来更灵活,我们不必使用树形结构的数据源来构建视图。通过绑定的 isExpanded 属性,我们可以方便地控制视图的显示与隐藏。示例所示代码如下:

@State private var isExpanded = false

DisclosureGroup(isExpanded: $isExpanded, content: {
  Toggle("展开/收起", isOn: $isExpanded)
  DisclosureGroup("内嵌列表") {
    Text("Hello 1")
    Text("Hello 1")
    Text("Hello 1")
  }
}) {
  Text("Disclosure")
}

正如示例所示,OutlineGroupDiclosureGroupView 其实都是可以相互嵌套使用的,以实现更为复杂的层级视图。

本文为 Eul 样章,如果您喜欢,请移步 AppStore/Eul 查看更多内容。

原文链接:http://www.cnblogs.com/bruce2077/p/14897096.html

 友情链接:直通硅谷  点职佳  北美留学生论坛