898f0f81815ff95323af35fa1959f202
SwiftUI Button 高级之复杂按钮点击后显示等待梅花转动 (教程含源码)

实战需求

SwiftUI Button 高级之复杂按钮点击后显示等待梅花转动 (教程含源码)

本文价值与收获

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

SwiftUI Button 高级之复杂按钮点击后显示等待梅花转动

SwiftUI Button 高级之复杂按钮点击后显示等待梅花转动

SwiftUI Button 高级之复杂按钮点击后显示等待梅花转动

SwiftUI Button 高级之复杂按钮点击后显示等待梅花转动

前提条件

  • xcode 13
  • iOS 15

基础知识

iOS15 UIButton新功能,支持按钮状态更改的配置处理程序,我们可以通过闭包来处理按钮状态随时间的变化configurationUpdateHandler。


实战代码

```
import SwiftUI
import UIKit

struct ContentView: View {
var body: some View {
PillButton(title: "Start Test") {
print("Button tapped")
}
.frame(height: 40)
// .frame(maxWidth: .infinity) // << screen-wide
.padding()
}
}

struct PillButton: UIViewRepresentable {
let title: String
let action: () -> ()

var ntPillButton = UIButton()//NTPillButton(type: .filled, title: "Start Test")

func makeCoordinator() -> Coordinator { Coordinator(self) }

class Coordinator: NSObject {
    var parent: PillButton

    init(_ pillButton: PillButton) {
        self.parent = pillButton
        super.init()
    }
top Created with Sketch.