IOS ImageRenderer Невозможно правильно локализовать текст. Ошибка [закрыто]IOS

Программируем под IOS
Ответить
Anonymous
 IOS ImageRenderer Невозможно правильно локализовать текст. Ошибка [закрыто]

Сообщение Anonymous »

Простое представление имеет смещенное локализованное содержимое после преобразования в изображение с помощью ImageRenderer.
Независимо от языка, при использовании ImageRenderer оно будет неправильно преобразовано в английский.
Я пытался использовать UIGraphicsImageRenderer, но UIGraphicsImageRenderer фиксирует изображение в неточном положении, и оно будет смещено, в результате чего появится белая рамка. И я не знаю, почему в некоторых случаях он сталкивается с циклическими ссылками, которые приводят к пустым изображениям.
Снимки экрана кода и симулятора
Это по-прежнему проблематично на реальном телефоне и TestFlight p>
Я не уверен, в чем проблема, я предполагаю, что это ошибка ImageRenderer.
VStack(spacing: 8) {
// The normal view
let simpleView = VStack() {
Text("连续生存")
Text("总打卡天数")
Text("\(0) days")
Text("\(1) days")
Text("\(2) days")
}
.padding(4)
.background(Color.gray)

simpleView // The normal view, language is Chinese

simpleView // "\(1) days" is correctly converted to "1 day".
.environment(\.locale, .init(identifier: "en"))

// After converting to UIImage with ImageRenderer, the text becomes English, it should be Simplified Chinese.
// and "\(1) days" is not converted to "1 day".
let image: UIImage = ImageRenderer(content: simpleView).uiImage ?? UIImage(named: "error.image")!

Image(uiImage: image)
}
.environment(\.locale, .init(identifier: "zh-Hans")) // Language set to Simplified Chinese


Localizable.strings:

"总打卡天数" = "Total Check-ins";
"连续生存" = "Streak";

Localizable.stringsdict:




%lld days

NSStringLocalizedFormatKey
%#@Variable@
Variable

NSStringFormatSpecTypeKey
NSStringPluralRuleType
NSStringFormatValueTypeKey
lld
other
%lld days
one
1 day
zero
0 day






Подробнее здесь: https://stackoverflow.com/questions/782 ... rectly-bug
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»