Выбор шрифта в стиле XCode - PullRequest
       23

Выбор шрифта в стиле XCode

4 голосов
/ 05 марта 2012

Я бы хотел добавить средство выбора шрифта в свое приложение. Интерфейсный конструктор XCode имеет отличную реализацию, которая также используется в окне собственных настроек XCode.

Это та, у которой есть небольшая кнопка 'T' (по-видимому) внутри самого текстового поля имени шрифта.

Это стандартная реализация какао?

Ответы [ 2 ]

0 голосов
/ 17 октября 2012

Нет стандартного элемента управления для текстового поля предварительного просмотра с кнопкой, но есть стандартный класс NSFontPanel, который можно использовать, чтобы позволить пользователям выбирать шрифт после нажатия кнопки «T».

НаилучшийИдея, вероятно, заключается в том, чтобы переопределить NSTextFieldCell.Я смог получить желаемый вид, переопределив -drawInteriorWithFrame: inView: и пропустив немного менее широкий кадр при вызове super, затем нарисовав кнопку сам.Вам также нужно было бы реализовать отслеживание мыши для кнопки самостоятельно, но вы, вероятно, могли бы просто создать свой собственный экземпляр NSButtonCell и вызвать его для нескольких методов с подстрокой для кнопки.

ДляДля удобства вы также можете создать подкласс NSTextField, который использует эту ячейку вместо прямой NSTextFieldCell, но если вы загружаете вещи из XIB, вы можете просто изменить класс ячейки в XIB и оставить его в обычномвид текстового поля.

0 голосов
/ 04 июня 2012

Вам нужно будет свернуть свой собственный. См. Подклассы NSControl . Вы будете создавать подклассы NSTextField и NSTextFieldCell. Прочитайте все руководство, на самом деле. Как только у вас будет хорошее понимание, вы можете переопределить процедуры рисования / геометрии, чтобы получить прямоугольник, ширина которого немного меньше (достаточно мала, чтобы оставить место для кнопки «шрифт»). Затем нарисуйте кнопку вашего шрифта. Вы будете реагировать на события мыши на кнопке шрифта так же, как и для любого NSView.

...