SwiftUI iOS 14.2 beta, текст исчезает из виджета на главном экране среднего и большого размера?

#ios #swiftui #widgetkit

#iOS #swiftui #widgetkit

Вопрос:

Кто-нибудь еще заметил исчезновение текста из виджетов среднего и большого размера? Небольшие размеры виджета работают нормально.

У меня есть приложение в магазине, и я ждал обновления iOS, чтобы исправить проблему с мерцающим виджетом на iOS 14.0.1. Я попробовал бета-версию Xcode, чтобы узнать, исправила ли бета-версия 14.2 проблему с мерцанием, и, похоже, так оно и было, НО теперь я вижу проблему, при которой текст отображается длядоля секунды, а затем исчезает, чтобы быть полностью прозрачным. Если вы проведете пальцем влево или вправо на другую страницу на главном экране, затем проведите пальцем назад, текст снова появится на долю секунды, а затем снова исчезнет.

Кто-нибудь еще заметил эту проблему?

Вот видеоклип, показывающий, что я пытаюсь описать. Я настроил его так, чтобы виджет среднего размера отображался сверху, а виджет небольшого размера чуть ниже, чтобы вы могли видеть, что проблема, похоже, не влияет на виджет небольшого размера, и вы можете получить представление о том, как должен выглядеть виджет среднего размера. https://youtu.be/h8szHHXavNo

Ответ №1:

Я провел некоторое тестирование и обнаружил, что это связано с размером текста и с тем, какое устройство симулятора / предварительного просмотра вы выбрали…

Запустите новый проект SwiftUI в Xcode 12.2 beta 2 Добавьте расширение виджета Установите текст в теле представления виджета равным 48, пример:

 var body: some View {
    Text(entry.date, style: .time)
        .font(.system(size: 48))
}
  

Если вы просматриваете предварительный просмотр, установленный на iPhone 11 Pro Max, в предварительном просмотре текст в виджете не отображается.

Если вы просматриваете предварительный просмотр, установленный на iPod touch (7-го поколения), текст отлично отображается на виджете…

Чтобы доказать, что текст не слишком большой, чтобы поместиться на виджете, вы можете изменить его на:

 var body: some View {
    Text("T")
        .font(.system(size: 48))
}
  

И он все равно будет отображаться на iPod touch, но не будет отображаться на iPhone 11 Pro Max

Кроме того, если вы сделаете размер текста 47, он внезапно появится как на iPhone 11 Pro Max, так и на превью iPod touch…

По-видимому, существует проблема с текстом размером более 47 на виджетах…

Я надеюсь, что это только проблема в симуляторе. У меня нет запасного устройства для установки бета-версии.

Комментарии:

1. В августе 2022 года в iOS 15.6 я столкнулся с той же проблемой, когда цвет переднего плана текста был установлен на белый. альфа (0.6), он исчез на симуляторе и в режиме предварительного просмотра, но отлично работал на реальном устройстве. Я думаю, это проблема с симулятором.