NSTextField Retina Размер шрифта Проблема - PullRequest
0 голосов
/ 26 января 2020

Я столкнулся с очень странной проблемой рендеринга шрифта NSTextField.

* NSTextField находится внутри NSTableCellView из NSOutlineView. На моей основной машине, на которой нет дисплея Retina (внешнего), размер шрифта выглядит нормально.

Однако, если я переключаюсь на свой MacBook 12 "с дисплеем Retina, эта же ячейка отображает текст внутри * 1009. * меньше. Это сбивает меня с толку, потому что у меня есть другое представление схемы в приложении, которое не затронуто этой проблемой. Я также удостоверился, что у меня нет ничего специально настроенного для текстового поля, перетаскивая новый из палитры.

Я также вручную разделил на подклассы NSTextField, чтобы посмотреть, кто устанавливает размер шрифта с 13pt до 11pt, и вызов поступает из системной платформы.

Что может повлиять на размер шрифта на сетчатки показывает?

1 Ответ

2 голосов
/ 26 января 2020

Я подозреваю, что это не имеет отношения к дисплеям Retina. Это просто разные настройки в двух учетных записях.

В частности, я подозреваю, что представление схемы, в котором возникла эта проблема, представляет собой список источников. Его selectionHighlightStyle равно .sourceList. Исходные списки регулируют свой размер на основе Системных настроек> Общие> Размер значка боковой панели. (Изменение размера значка также приводит к изменению размера ярлыка.) Вы можете изменить этот параметр, и ваше приложение должно изменить размер элементов списка источников в режиме реального времени.

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

Если вы действительно хотите сохранить контурный вид в качестве списка источников, но переопределить это поведение, вы можете сделать это в приложении основа Ваше приложение может установить для себя значение в UserDefaults для ключа NSTableViewDefaultSizeMode. Маленький - 1, Средний - 2, Большой - 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...