Що означає попередження "для автоматичного налаштування шрифту потрібно використання стилю тексту динамічного типу"?


98

Я отримую таке попередження:

"для автоматичного налаштування шрифту потрібно використовувати стиль тексту динамічного типу"

Знімок екрана додано

Яке я не можу позбутися від попередження main.storyboard.

Я перевірив кожен UILabelв , Identity Inspectorщоб переконатися зробити «автоматично підлаштовує шрифт» знятий.


1
Я підозрюю, що "для автоматичного налаштування шрифту потрібно використовувати стиль тексту динамічного типу", ймовірно, для динамічного налаштування.
неглибоко, Думка

7
Ви хочете використовувати динамічний шрифт ("Тіло", "Заголовок", "Підзаголовок") АБО, швидше за все, вимкніть Automatically Adjusts Fontі увімкніть Autoshrink.
bshirley

Відповіді:


53
  1. Відкрийте свою розкадрування як вихідний код
  2. Шукати ключ "adjustsFontForContentSizeCategory"
  3. Перевірте, який об’єкт має цю опцію, і зніміть прапорець Динамічний тип у конструкторі інтерфейсів.

21
У моєму випадку у мене є це попередження, але adjustsFontForContentSizeCategoryключ не відображається у вихідному коді.
Кріс Принс

Я думаю, що зараз працює (Xcode 11), просто натиснути на попередження, і воно вибере мітку, що порушує. (Тож ви можете уникнути кроків вихідного коду)
garafajon

@ChrisPrince, ти закінчив вирішувати це?
ScottyBlades

34

Я щойно змінив стиль тексту на Body & Warning зникає.

Це просто тому, що це динамічний тип textStyle

Див. Список попередньо визначених підтримуваних динамічних типів textStyle -

введіть тут опис зображення


1
Змінюючи його на, bodyздається, воно втрачає можливість виділення жирним шрифтом тексту.
btrballin

31

У мене була така ж проблема. Навіть після того, як я відкрив розкадрування як джерело та видалив ключ "adjustsFontForContentSizeCategory", зберіг та очистив проект, який він все одно відображатиме.

Тоді я:

  1. Очистив проект
  2. Закритий Xcode
  3. Видалено вміст папки похідних даних
  4. Повторно відкрив Xcode і відновив

Його не було. :)


4
Крок 1: натисніть ⇧⌥⌘K, щоб очистити проект та отримані дані. Опустити крок 3.
Mojo66,

1
ммм, ⇧⌥⌘K очищає папку збірки всередині похідних даних програми. Але це не видаляє всю папку похідних даних. Це досить? Або ми робимо звичайний "xCode Voodoo Dance", як описано вище: D
Яро,

Танець Вуду працював у мене. У мене була та ж проблема і для застарілих Push Segues. Я вручну міняв кожну назву і ярлик, але попередження не зникали. Видалення папки DerivedData це виправило.
даноматика

25

Здається, це була помилка в Xcode. Це те, що я зробив, щоб це виправити:

  1. Змініть шрифт на етикетці, що відображала помилку, на динамічний тип, як пропонується
  2. Установіть прапорець біля пункту "Автоматично налаштовувати шрифт"
  3. Створення та запуск проекту (помилка зникає)
  4. Зніміть прапорець біля пункту "Автоматично налаштовувати шрифт"
  5. Поверніть шрифт до попереднього налаштування, що спричинило помилку
  6. Відновіть проект

Помилка все ще не існує.


2
Я згоден. Подвійні та потрійні перевіряли мої файли та навіть перевіряли XML / джерело - цього ще не було, XCode наполягає, що є (навіть після "чистого"). Як надокучливо.
Джош

4
I changed the font in the label that showed the error, to a dynamic type,- Я не бачу жодної опції, схожої на те, що це було б dynamic typeу шрифтах. Пропозиції?
Кріс Принс

Зараз я використовую системний шрифт. Я використовував спеціальний шрифт у деяких мітках, що спричинило проблему. Якщо ви шукаєте в Google динамічні шрифти в Xcode, ви можете знайти список інших динамічних шрифтів. Трохи досліджень проходять довгий шлях. Удачі.
К. Лоу

3
Привіт @ K.Law, дякую за відповідь, але Xcode генерує кілька однакових попереджень, і всі перегляди знаходяться на Intro.storyboard. Коли я натиснув попередження, Xcode просто показав Раскадровку не особливим елементом.
elia 02.03.18

17

Якщо прапорець "Автоматично налаштовує шрифт" встановлено з нединамічним шрифтом, з’явиться це попередження. Або зніміть прапорець на ярлику, що порушує, або використовуйте динамічний тип шрифту.

введіть тут опис зображення


3
У моєму випадку цей прапорець не встановлений, але я отримую попередження.
Кріс Принс

20
Як ви можете визначити, чи є ваш шрифт "нединамічним"?
user664939

1
@ user664939 Нединамічні шрифти здатні змінити сім'ю та стиль. Динамічні шрифти не здатні змінити сім'ю та стиль. Він отримає значення за замовчуванням відповідно до розміру. Ви можете встановити сім'ю та стиль за допомогою розкадрування -> інспектор атрибутів -> шрифт.
sn86

5
@ user664939: замість того, щоб вибрати певний шрифт, ви вибираєте "тип шрифту". Клацніть "T" у розкривному меню "Шрифт". У вікні, що відкриється, клацніть стрілки праворуч від випадаючого меню Шрифт. Виберіть "Стиль тексту" зі списку внизу. Інформацію про розміри точок тощо, що стосуються кожного стилю тексту, див. У візуальному дизайні, типографіці HIG .
leanne

9
  1. Відкрийте свою розкадрування, клацніть правою кнопкою розкадрування в навігаторі файлів.

введіть тут опис зображення

  1. Шукайте (команда F) та видаляйте екземпляри adjustsFontForContentSizeCategory="YES"

1
У моєму Xcode (11.1) немає поля "Автоматично регулює шрифт". Я пробував усе інше, нічого не працювало, крім цього - з 0 голосами. Thx
DrWhat
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.