Ios SwiftUI自定义号码格式化程序作为电话

Ios SwiftUI自定义号码格式化程序作为电话,ios,swift,swiftui,formatter,Ios,Swift,Swiftui,Formatter,我正在尝试创建一个自定义电话格式化程序。我发现这可能适用于我的特殊情况,但问题是,当我尝试它时,存在多个问题,如: 如果使用.international程序将进入循环并变得不负责任 它要求号码在文本中包含国家的电话号码,以便正确格式化,但正如我已经在左侧带有标志+电话号码的按钮中完成了这一部分,因此没有必要这样做 所以,我想做的是创建我自己的电话格式化程序,比如:(########-####,目前这可能就足够了,因为我们只针对一个国家,这是这里最常用的格式 我遵循中的代码了解如何操作,但这里

我正在尝试创建一个自定义电话格式化程序。我发现这可能适用于我的特殊情况,但问题是,当我尝试它时,存在多个问题,如:

  • 如果使用
    .international
    程序将进入循环并变得不负责任
  • 它要求号码在文本中包含国家的电话号码,以便正确格式化,但正如我已经在左侧带有标志+电话号码的按钮中完成了这一部分,因此没有必要这样做
所以,我想做的是创建我自己的电话格式化程序,比如:
(########-####
,目前这可能就足够了,因为我们只针对一个国家,这是这里最常用的格式

我遵循中的代码了解如何操作,但这里他们正在处理日期:

struct ContentView: View {
    static let taskDateFormat: DateFormatter = {
        let formatter = DateFormatter()
        formatter.dateStyle = .long
        return formatter
    }()

    var dueDate = Date()

    var body: some View {
        Text("Task due date: \(dueDate, formatter: Self.taskDateFormat)")
    }
}
两年前有人在上问过类似的问题,但我相信这是针对UIKit而不是SwiftUI的,并且没有显示任何代码

我正试图将我的格式化程序直接连接到我自己的
文本字段
,我试图寻找与SwiftUI类似的东西,但我没有找到任何东西,仍然无法找到如何使用
formatter.numberStyle=“(#####-#####-####”


有人能给我指出正确的方向吗?

考虑一下这个方法@Asperi我必须承认这个方法可能正是我想要的,它让我大吃一惊,因为我对SwiftUI没有那么多经验。据我所知,这是一个包装UITextField的SwiftUI视图,但它使我对如何添加这些逗号感到困惑。WOW@Asperi你会考虑解释一下你的联系答案,你怎么做这些变化呢?或者一个小提示,我怎么能把它建立在我的特定用例上?考虑一下这个方法:ASPI我必须承认这个方法可能是我想要的,它让我的头脑受到打击,因为我并没有像斯威夫特那样有经验。据我所知,这是一个包装UITextField的SwiftUI视图,但它使我对如何添加这些逗号感到困惑。WOW@Asperi你会考虑解释一下你的联系答案,你怎么做这些变化呢?或者是关于如何将其扩展到我的特定用例的一点提示?