SwiftNumberPad

一个用于基本数字输入的多平台 SwiftUI 组件。

作为一个开源库提供,可集成到 SwiftUI 应用程序中。

SwiftNumberPadOpenAlloc 开源 Swift 软件工具家族的一部分。

特性

示例

一个基于 Float 输入并指定精度的基本示例。

struct NumberPadExample: View {
    @Binding var calories: Float

    init(myValue: Binding<Float>) {
        _calories = myValue
        config = .init(myValue.wrappedValue, precision: 1, upperBound: 1000)
    }

    @ObservedObject var config: NPFloatConfig<Float>

    var body: some View {
        VStack {
            Text("\(config.stringValue)")

            NumberPad(config: config)
                .buttonStyle(.bordered)
        }
        .font(.largeTitle)
        .navigationTitle("Calories")
        .toolbar {
            ToolbarItem {
                Button("Save") {
                    calories = config.value ?? 0
                }
            }
        }
        .padding()
    }
}

struct NumPadExample_Previews: PreviewProvider {
    static var previews: some View {
        NavigationStack {
            NumberPadExample(myValue: .constant(Float(233.6)))
        }
    }
}

待办事项

如果您愿意处理以下任何事项,请提交 pull request。谢谢!

另请参阅

此库是 OpenAlloc 项目 的成员。

许可证

版权所有 2023 OpenAlloc LLC

根据 Apache License, Version 2.0(“许可证”)获得许可;除非遵守许可证的规定,否则您不得使用此文件。您可以在以下网址获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或以书面形式达成协议,否则根据本许可证分发的软件按“现状”基础分发,不附带任何形式的明示或暗示的保证或条件。有关特定语言的权限和限制,请参阅许可证。

贡献

欢迎贡献。我们鼓励您提交 pull request 以修复错误、改进文档或提供新功能。

pull request 不需要是生产就绪的功能或修复。它可以是拟议更改的草案,或者只是一个测试,以表明预期的行为存在错误。关于 pull request 的讨论可以从那里开始。