Подтвердить что ты не робот

Минимальный размер шрифта UITextField

Я использую свойство minimumFontSize

textField.font = [UIFont boldSystemFontOfSize:17];
textField.textColor = [UIColor darkGrayColor];
textField.minimumFontSize = 10;
textField.adjustsFontSizeToFitWidth = YES;

Но текст никогда не доходит до минимального размера шрифта 10, он усекается, но если я изменил текущий fontSize на 10, весь текст появится правильно. Я использую это свойство неправильно?

4b9b3361

Ответ 1

Как только это... вы правильно настроили UITextField, а adjustsFontSizeToFitWidth работает вообще, но я считаю, что iOS не работает.

Похоже, что текст в UITextField не будет автоматически уменьшаться после 14 очков * - независимо от того, установлено ли значение minimumFontSize меньше этого значения, например, ваш разумный запрос 10 очков.

A UITextField с:

  • Размер шрифта 17, минимальный размер 15 снизится до 15, если потребуется
  • Размер шрифта 17, минимальный размер 10 будет уменьшаться до 14
  • Размер шрифта 13, минимальный размер 4 останется на уровне 13

Вы можете проверить это, сравнив три UITextField бок о бок со строками текста, слишком длинными для них, где минимальный размер шрифта равен 13, 14 и 15 соответственно. Первые два будут отображаться точно так же, на 14 очков.

Кажется странным магическим числом, но там вы идете. Вопросы читаемости с помощью железа? Я полагаю, вы могли бы попробовать настроить размер шрифта самостоятельно или жить с minimumFontSize = 14.

* Я проверил это в IB, но он обязательно применим и к программно созданному UITextField.

Ответ 2

Шрифт будет усечен до минимального размера шрифта. Чтобы поэкспериментировать с этим, перетащите UILabel в Interface Builder, установите там свойства и измените ширину UILabel, чтобы увидеть эффект.