zl程序教程

您现在的位置是:首页 >  工具

当前栏目

SwiftUI 精品组件之标签组tags云(教程含源码)

组件源码教程 标签 SwiftUI 精品 Tags
2023-09-11 14:18:30 时间

实战需求

SwiftUI 精品组件之标签组tags云

本文价值与收获

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

标签组tags云

看完本文您将掌握的技能

  • 向父容器传递参数 .onPreferenceChange(SizePreferenceKey.self, perform: onChange)
  • 读取当前容器大小 GeometryReader

实战代码

1、主界面

import SwiftUI

class ContentViewModel: ObservableObject {

  @Published var originalItems = [
    "我的关注", "旅游", "宠物", "STOCK财经", "历史", "海外房产", "山海经", "山的那边海的那边有一群蓝精灵",
  ]

  @Published var spacing: CGFloat = 8
  @Published var padding: CGFloat = 8
  @Published var wordCount: Int = 10
  @Published var alignmentIndex = 1

  var words: [String] {
    Array(originalItems.prefix(wordCount))
  }

  let alignments: [