Заставить SwiftUI отображать локализованную десятичную панель с десятичным разделителем региона ⇐ IOS
-
Anonymous
Заставить SwiftUI отображать локализованную десятичную панель с десятичным разделителем региона
Я пытаюсь отобразить десятичную панель для ввода в зависимости от страны, выбранной пользователем в приложении. Я продолжаю получать десятичную точку на клавиатуре, хотя для форматирования ввода использую NumberFormatter с языковым стандартом страны.
struct AmountTextField: Просмотр { let CountryLocale: Локаль @State Private var text = "" вар форматтер: NumberFormatter { пусть форматтер = NumberFormatter() formatter.numberStyle = .decimal formatter.locale = страналокаль formatter.currencyGroupingSeparator = "," formatter.generatesDecimalNumbers = true formatter.allowsFloats = правда formatter.maximumFractionDigits = 2 вернуть форматтер } var body: some View { TextField("Введите сумму", текст: $text) .keyboardType(.decimalPad) .onChange(of: text) { newValue в ... текст = formatter.string(для: newValue)! } } } Как мне этого добиться? Например, он предназначен для отображения запятой (,) в качестве десятичного разделителя для Анголы.
Я пытаюсь отобразить десятичную панель для ввода в зависимости от страны, выбранной пользователем в приложении. Я продолжаю получать десятичную точку на клавиатуре, хотя для форматирования ввода использую NumberFormatter с языковым стандартом страны.
struct AmountTextField: Просмотр { let CountryLocale: Локаль @State Private var text = "" вар форматтер: NumberFormatter { пусть форматтер = NumberFormatter() formatter.numberStyle = .decimal formatter.locale = страналокаль formatter.currencyGroupingSeparator = "," formatter.generatesDecimalNumbers = true formatter.allowsFloats = правда formatter.maximumFractionDigits = 2 вернуть форматтер } var body: some View { TextField("Введите сумму", текст: $text) .keyboardType(.decimalPad) .onChange(of: text) { newValue в ... текст = formatter.string(для: newValue)! } } } Как мне этого добиться? Например, он предназначен для отображения запятой (,) в качестве десятичного разделителя для Анголы.
Мобильная версия