UIPickerView изменяет размер текста текста после загрузки содержимого в сборщик

Небольшое объяснение того, что у меня есть:

У меня есть UIPickerView с более чем одним компонентом (столбец), и все компоненты заполняются строками INTEGER_MAX, чтобы придать этому аспекту «бесконечный цикл». Содержимое каждого компонента происходит из NSArray строк для этого конкретного компонента. Строки (слова) имеют разные размеры, а некоторые были усечены (например, «Воображение» стало «Imaginat …», а «Smart» остается тем же). В каждой строке каждого компонента я использую UILabel для отображения текста, и я использую

tLabel.textAlignment = NSTextAlignmentCenter; tView.adjustsFontSizeToFitWidth = YES; 

чтобы текст соответствовал и выравнивался.

Небольшое объяснение того, что мне нужно:

Мне нужно, чтобы все ярлыки (INTEGER_MAX * nr_of_components) имели одинаковый текст. Однако, пока сборщик не будет заполнен ярлыками, автоматически изменяющим размер текста, я не могу определить, какой из них является самым маленьким шрифтом.

Небольшое объяснение того, что я думал и чего не удалось достичь:

Я рассмотрел загрузку сборщика, как было объяснено ранее, и затем сканирует первые строки [arrayX count], чтобы найти минимально необходимый шрифт для этого компонента, а затем сравнить его с другими компонентами, пока не будет обнаружен необходимый «абсолютный» минимальный шрифт. После этого потребуется получить доступ ко всем меткам на ВСЕХ компонентах и ​​изменить font.size на тот, который указан как самый маленький.

Это должно быть сделано динамически, потому что не будет известно, запущено ли приложение на iPhone, iPod или iPad.

Ну, любая помощь приветствуется. Заранее спасибо!

One Solution collect form web for “UIPickerView изменяет размер текста текста после загрузки содержимого в сборщик”

Если я правильно понял ваш вопрос, вы можете взглянуть на этот ответ .

Стратегия в основном заключается в усечении (эллипсисе) вместо сокращения шрифта.


Изменить (на основе комментария)

Я бы настоятельно советовал не устанавливать весь текст в минимальный шрифт. Допустим, у вас есть элементы как таковые:

  • Груша
  • персик

хорошо, до сих пор они идеально подходят для вашего ярлыка с хорошим размером шрифта. Теперь вы добавляете более длинный элемент:

  • Груша
  • персик
  • клубника
  • Ананас

и теперь все ваши предметы немного меньше, но это все еще читаемо, поэтому это приемлемо. И затем появляется огромный предмет, например:

  • Груша
  • персик
  • клубника
  • Ананас
  • SomeKindOfExoticFruitThatHasAnIncredibleLongName

что сделало бы все предметы внутри вашего сборщика невероятно маленькими и трудночитаемыми.

Но если вы все еще хотите пойти по этой дороге, я предлагаю вам взглянуть на размер шрифта из текста . Этот вопрос также может помочь.

  • Самый эффективный способ заполнить представление выбора с диапазоном целых чисел?
  • Swift - скрыть pickerView после выбранного значения
  • Как отменить UIPIckerView, как только пользователь выбрал свой выбор
  • Скрыть курсор UITextField
  • хотите показать UIPickerView в UIAlertController или UIPopoverController Swift?
  • Почему представления не используются повторно в UIPickerView для делегата viewForRow?
  • UIPickerView становится темнее на снимке экрана
  • Получение ключа NSDictionary по индексу?
  • UIPickerView - многострочные строки - нужен совет по макету
  • Как получить ширину кадра UIAlertController?
  • Как переписать компонент UIDatePicker?
  • Interesting Posts

    Альтернатива глобальным переменным в приложении делегата

    Как установить индекс в tableview в swift

    Оптимизация CALayer?

    Лучшая практика для обработки расширенной строки состояния с помощью приложения WantsFullScreenLayout?

    Ошибка Xcode 8 во время отправки App Store

    Можете ли вы создать целевые зависимости Xcode 5.1 для построения только допустимых архитектур?

    Определение постоянной ширины экрана

    ARC, ivars в блоках и эталонных циклах через захваченное я

    Доступ к библиотечной библиотеке iOS

    Как добавить меню с вкладками в представление карусели в форме Xamarin?

    UIStepper проглатывает прикосновение

    XCode 5, похоже, удаляет InstallationBuildProductsLocation for Archive

    iOS10.3.x Невозможно установить nowPlayingItem на MPMusicPlayer для треков Apple Music

    Очистить кеш в iOS: удаление данных приложения из других приложений

    Интеграция входа учетной записи Google в приложение iOS

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.