AuraanimationforSwiftUIbutton
创始人
2024-09-22 07:00:25
0
  1. 首先需要定义一个Button并添加一个内嵌VStack视图,以便可以存放其他视图,例如文本等。
Button(action: {}, label: {
    VStack {
        // 添加其他视图
    }
})
  1. 现在需要创建一个自定义修饰符,该修饰符将为按钮添加光环动画。 在此示例中,我们将使用ViewModifier来创建自定义修饰符。
struct AuraButtonModifier: ViewModifier {
    let isOn: Bool
    
    func body(content: Content) -> some View {
        content
            .overlay(
                Circle()
                    .stroke(lineWidth: 10)
                    .scaleEffect(isOn ? 1.5 : 1)
                    .opacity(isOn ? 0 : 1)
                    .animation(Animation.easeInOut(duration: 1).repeatForever(autoreverses: false))
                )
    }
}
  1. 接下来应该在Button代码中添加修饰符 - AuraButtonModifier,并为其创建一个@State变量以便在动画中更改。
struct ContentView: View {
    @State private var isOn = false
    
    var body: some View {
        Button(action: {}, label: {
            VStack {
                Text("按钮")
                    .font(.title)
                    .fontWeight(.bold)
            }
        }).modifier(AuraButtonModifier(isOn: isOn))
    }
}
  1. 最后,可以创建一个定时器来定期切换isOn状态以启动和停止动画。
private let timer = Timer.publish(every: 2, on: .main, in: .common).autoconnect()

// ...

struct ContentView: View {
    @State private var isOn = false
    
    var body: some View {
        Button(action: {}, label: {
            VStack {
                Text("按钮")
                    .font(.title)
                    .fontWeight(.bold)
            }
        }).modifier(AuraButtonModifier(isOn: isOn))
        .onReceive(timer) { _ in
            self.isOn.toggle()
        }
    }
}

相关内容

热门资讯

盘点几款!相约十三水破解,微信... 盘点几款!相约十三水破解,微信多乐跑辅助,技巧教程(有挂工具)-哔哩哔哩;无需打开直接搜索打开薇:1...
解密关于"指尖四川辅... 解密关于"指尖四川辅助"开挂(透视)辅助软件(其实是真的有挂的)-哔哩哔哩;指尖四川辅助中的10万兆...
推荐攻略!广东雀神透视,wep... 广东雀神透视是一款专注玩家量身打造的游戏记牌类型软件,在广东雀神透视这款游戏中我们可以记录下每张牌的...
教程辅助"大当家辅助... 教程辅助"大当家辅助"开挂(透视)辅助下载(原来真的有挂)-哔哩哔哩相信很多朋友都在电脑上玩过大当家...
玩家亲测!微信小程序功夫川辅助... 玩家亲测!微信小程序功夫川辅助,同城游辅助软件,扑克教程!(有挂透视)-哔哩哔哩您好:微信小程序功夫...
透视透视"创思维透视... 透视透视"创思维透视下载链接"开挂(透视)辅助平台(果然确实有挂)-哔哩哔哩;人气非常高,ai更新快...
让我来分享经验"传送... 让我来分享经验"传送屋潮州激k辅助怎么打开"开挂(透视)辅助脚本(一贯确实有挂的)-哔哩哔哩;传送屋...
大家学习交流!微信微乐小程序修... 【亲,微信微乐小程序修改器 这款游戏可以开挂的,确实是有挂的,很多玩家在这款微信微乐小程序修改器中打...
总算明白"约局吧脚本... 总算明白"约局吧脚本透视开挂"开挂(透视)辅助工具(一直是真的有挂的)-哔哩哔哩;1、不需要AI权限...
科技分享!山西扣点辅助,悠闲卡... 科技分享!山西扣点辅助,悠闲卡五星辅助,插件教程(确实有挂)-哔哩哔哩1、下载安装好山西扣点辅助,进...