buttoncraft:SwiftUI应用,打造完美按钮样式的实用工具





项目名称:buttoncraft

简介

buttoncraft是一个使用SwiftUI开发的开源项目,旨在为开发者提供一个实用的工具,以便在iOS应用中创建和定制按钮样式。该应用允许用户随机化不同的按钮设置,重置为默认样式,并使用iOS的新ColorPicker选择颜色。

✈️ Testflight

https://testflight.apple.com/join/pZDhygQt

系统要求

  • iOS 14.0+

  • Xcode 13.0+

  • Swift 5.5

  • SwiftUI 3.0

使用方法

用户可以通过以下代码实现自定义按钮样式:

struct MyButtonStyle: ButtonStyle {
    func makeBody(configuration: Self.Configuration) -> some View {
        configuration.label
            .background(Capsule()
                            .foregroundColor(configuration.isPressed ? Color.primary.opacity(0.75) : Color.primary))
            .scaleEffect(configuration.isPressed ? CGFloat(0.85) : 1.0)
            .rotationEffect(.degrees(configuration.isPressed ? 0.0 : 0))
            .blur(radius: configuration.isPressed ? CGFloat(0.0) : 0)
            .animation(Animation.spring(response: 0.35, dampingFraction: 0.35, blendDuration: 1), value: configuration.isPressed)
    }
}

extension Button {
    func myButtonStyle() -> some View {
        self.buttonStyle(MyButtonStyle())
    }
}

// 使用示例
Button { } label: {
    Text("just like that")
        .font(Font.body.bold())
        .padding()
        .foregroundColor(Color.primary)
        .colorInvert()
}
.myButtonStyle()

Button { } label: {
    Image(systemName: "face.smiling")
        .font(Font.body.bold())
        .imageScale(.large)
        .padding()
        .foregroundColor(Color.primary)
        .colorInvert()
}
.myButtonStyle()

功能特点

  • 🔀 随机化不同设置以获得灵感

  • 重置为默认样式

  • 使用新的iOS ColorPicker

  • 将完美的按钮样式复制为代码片段到剪贴板

免责声明

该项目旨在分享SwiftUI学习经验(并非生产级代码),使用时请自行评估风险。

作者信息

该项目由Paritosh Raval开发,更多信息请访问其GitHub页面:Paritosh Raval

或许喜欢

LoadingButton:SwiftUI下的加载动画按钮,支持自定义样式和加载状态控制

LoadingButton是一个为SwiftUI设计的加载动画按钮库,支持自定义样式和响应式加载状态控制,适用于iOS和macOS应用开发,遵循MIT许可。

最近更新 2024-12-11

SwiftUINavigator - 轻松在UIKit项目中使用SwiftUI视图的导航器

SwiftUINavigator是一个开源库,允许开发者在UIKit项目中轻松集成和使用SwiftUI视图,提供导航功能。

最近更新 2024-12-09

AttributedText:Swift中处理富文本字符串的库

AttributedText是一个Swift库,允许开发者在应用中轻松处理和展示富文本字符串,支持多种文本属性设置。

最近更新 2024-12-09

热榜

Made with in Shangrao,China By 老雷

Copyright © devler.cn 1987 - Present

赣ICP备19009883号-1