目前,SwiftUI 尚未为 watchOS 提供数字键盘。也没有提供在 watchOS 的 TextField()
上切换输入类型的能力。 这是我有点粗糙的解决方法。
WatchOS 在使用 Swift Packages 时也存在一个奇怪的问题,您必须手动将 framework 添加到 Watch Extension 中。
File > Swift Packages > add Package Dependecy...
粘贴 https://github.com/ApplebaumIan/SwiftUI-Apple-Watch-Decimal-Pad.git 到搜索栏中。安装完成后,导航到您的 Xcode 项目并选择 General
选项卡。选择您的 watchOS Extension 目标,然后滚动到 Frameworks, Libraries, and Embedded Content
,单击 +
按钮并添加 SwiftUI Apple Watch Decimal Pad
framework。
现在您应该能够在所需的 Swift 文件顶部添加 import SwiftUI_Apple_Watch_Decimal_Pad
。
import SwiftUI
import SwiftUI_Apple_Watch_Decimal_Pad
struct ContentView: View {
@State public var presentingModal: Bool
var body: some View {
DigiTextView(placeholder: placeholder,
text: text,
presentingModal: presentingModal
)
}
}
如果您想设置 Textfield 中文本的对齐方式
DigiTextView(placeholder: placeholder,
text: text,
presentingModal: presentKeyboard,
+ alignment: .leading
)
如果您想使用 Decimil Pad 版本的键盘
DigiTextView(placeholder: placeholder,
text: text,
presentingModal: presentKeyboard,
alignment: .leading,
+ style: .decimal
)