Мінімальний розмір шрифту застарілий у iOS 6.0


92

Я щойно перейшов на xcode 4.5 з iOS 6.0, і в ньому виділяється попередження на всіх мітках UIL у моїх файлах XIB, в якому говориться: "мінімальний розмір шрифту застарілий у iOS 6.0". Хтось знає, на що це стосується і як це виправити?

Оновлення: зображення більше не доступне (було за посиланням https://skitch.com/hahmadi82/eyk51/cloud )


1
@HoomanAhmadi: цей електронний лист отримали всі розробники iOS. Прочитайте застереження внизу: "Попереднє випуск програмного забезпечення ..."
Rok Jarc,

7
Змініть "Мінімальний розмір шрифту" в розділі "Автозвіска" на "Мінімальний масштаб шрифту". : p Просто мала таку ж проблему і прийшла прямо сюди, припускаючи, що шрифти не порушують NDA. Схоже, шрифти зазнали кількох змін під час оновлення.
erran

18
Я підняв це запитання, оскільки воно було неправильно закрите. Принаймні, причина закриття - неправильно неправильно неправильно. "це стосується лише невеликої географічної області" ні. Це стосується всіх розробників iOS. "надзвичайно вузька ситуація, яка загалом не застосовується до світової аудиторії Інтернету", ні. "Це питання навряд чи допоможе будь-яким майбутнім відвідувачам". Це було мені неймовірно корисно і, мабуть, буде однаково корисно будь-яким розробникам iOS. Я розумію проблему NDA, але як тільки NDA буде знято, це питання встане.
Jean-Denis Muys

9
Люди, вперше я це виправив, я зробив це вручну, і це було особливим видом тортур. Потім мені довелося об’єднати деякі зміни, і завдяки бета-версії Xcode це дало мені emacs як мій інструмент злиття, тому я підтримав це і взяв нову версію файлу, знаючи, що викину це, але потім я змінив ці зміни, використовуючи TextWrangler: файли xml. Просто замініть: autoshrinkMode = "minimumFontSize" на autoshrinkMode = "minimumFontScale" і замініть minimumFontSize = "10" на minimumFontScale = "0.5". Вуаля.
Роб

1
@LittleBobbyTables: Хоча було б чудово, якби люди могли приємно запитати . Розсерджене та правомочне ниття, як коментар matheszabi, - чудовий спосіб переконати мене не відкривати питання.
CA McCann

Відповіді:


47

minimumFontSizeвластивість UILabelне підтримується з iOS 6.0 і далі.

Альтернатива minimumFontSizeis minimumScaleFactor. Якщо ви призначаєте minimumFontSize/defaultFontSizeна minimumScaleFactorце працює точно так само , як minimumFontSize.

Код такий: наприклад, розмір шрифту - 30,0, а якщо ви хочете, щоб мінімальний розмір шрифту був 12,0

YOURLABEL.font= [UIFont fontWithName:@"FONT_NAME" size:30.0];
[YOURLABEL setMinimumScaleFactor:12.0/[UIFont labelFontSize]];


8

Швидке виправлення ... Тут мінімальний розмір шрифту - 8,0

            CGFloat size = textLabel.font.pointSize;// font size of label text
            [textLabel setMinimumScaleFactor:8.0/size];

5

Я відповідаю дуже пізно, але можу допомогти будь-якому іншому. Як кожен знає, що setMinimumFontSizeзастарілий, так і інший метод заміни setMinimumFontSize- setAdjustFontToFitWidthце, BOOL наприклад,

[yourLabel setAdjustsFontSizeToFitWidth:YES];
//or
yourLabel.adjustsFontSizeToFitWidth = YES;

3

У мене була подібна проблема. Швидке виправлення полягає у використанні властивості MinimumScaleFactor UILabel.


3

Для Swift використовуйте наступне:

//set the number (ex. 8 to your desired minimum font size)
myLabel!.minimumScaleFactor = 8/myLabel!.font.pointSize;`

Працює як шарм!


1

Зайдіть у finder і знайдіть .storyboardфайл або свій .xibі відкрийте за допомогою TextEdit. Використовуйте find, щоб знайти рядок "autoshrinkMode"і замінити значення "minimumFontSize"на"minimumFontScale"

Дивно, що перетворення не було записано в сценаріях оновлення ...

Також похвалите @Rob у коментарях вище за те, що він сказав ту саму відповідь. Він повинен отримати кредит за цей.


у моєму файлі розкадрування немає режиму autoshrinkMode.
Тімучин

Дякую, це у мене чудово працює. @Tim вам потрібно лише вибрати UILabel, і встановити прапорець "label" на правій панелі утиліти, і, перевіривши параметри, ви побачите такий, який називається "Autoshrink". i.stack.imgur.com/H6YYJ.png
pabloverd

0

Ви можете використовувати там мінімальний коефіцієнт масштабування або перетягнути ярлик і встановити автошрик-> мінімальний шрифт.

Можливо, це може вам допомогти.


0

Так minumumFontSize, застаріле.

Використовуйте наступне minimumScaleFactor:-

Obj.minimumScaleFactor= (floatValue);
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.