戴铭
戴铭
 基本用法 ```swift // MARK: - Text struct PlayTextView: View { let manyString = "这是一段长文。总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么,总得说点什么吧。" var body: some View { ScrollView { Group { Text("大标题").font(.largeTitle) Text("说点啥呢?") .tracking(30) // 字间距 .kerning(30)...
 ```swift struct PlayImageView: View { var body: some View { Image("logo") .resizable() .frame(width: 100, height: 100) Image("logo") .resizable() .aspectRatio(contentMode: .fit) .frame(width: 50, height: 50) .clipShape(Circle()) .overlay( Circle().stroke(.cyan, lineWidth: 4)...
 用 ProgressViewStyle 协议,可以创建自定义的进度条视图。在 WatchOS 上会多一个 Guage 视图。 ```swift struct PlayProgressView: View { @State private var v: CGFloat = 0.0 var body: some View { VStack { // 默认旋转 ProgressView()...
LazyVStack 和 LazyHStack 里的视图只有在滚到时才会被创建。 ```swift struct PlayLazyVStackAndLazyHStackView: View { var body: some View { ScrollView { LazyVStack { ForEach(1...300, id: \.self) { i in PLHSRowView(i: i) } } } }...
 对应代码如下: ```swift struct PlayNavigationView: View { let lData = 1...10 var body: some View { NavigationView { ZStack { LinearGradient(colors: [.pink, .orange], startPoint: .topLeading, endPoint: .bottomTrailing) .ignoresSafeArea() List(lData, id:...
 ```swift struct PlayGroupBoxView: View { var body: some View { GroupBox { Text("这是 GroupBox 的内容") } label: { Label("标题一", systemImage: "t.square.fill") } .padding() GroupBox { Text("还是 GroupBox 的内容") }...
```swift struct PlayControlGroupView: View { var body: some View { ControlGroup { Button { print("plus") } label: { Image(systemName: "plus") } Button { print("minus") } label: { Image(systemName: "minus") }...
 List 除了能够展示数据外,还有下拉刷新、过滤搜索和侧滑 Swipe 动作提供更多 Cell 操作的能力。 通过 List 的可选子项参数提供数据模型的关键路径来制定子项路劲,还可以实现大纲视图,使用 DisclosureGroup 和 OutlineGroup 可以进一步定制大纲视图。 下面是 List 使用,包括了 DisclosureGroup 和 OutlineGroup 的演示代码: ```swift struct PlayListView: View { @StateObject var l: PLVM...
Stack View 有 VStack、HStack 和 ZStack  ```swift struct PlayStackView: View { var body: some View { // 默认是 VStack 竖排 // 横排 HStack { Text("左") Spacer() Text("右") } .padding()...
 ```swift struct PlayButtonView: View { var asyncAction: () async -> Void = { do { try await Task.sleep(nanoseconds: 300_000_000) } catch {} } @State private var isFollowed: Bool =...