Кто-нибудь пробовал интегрировать пользовательские шрифты в UIButton? - PullRequest
1 голос
/ 03 июня 2010

Попытка вставить FontLabel (http://github.com/zynga/FontLabel) в UIButton. Сначала я хотел установить titlelabel. Но он ограничивает сеттер, поэтому я не могу просто установить для него метку.

Просто интересно, есть ли у кого-нибудь идея сделать это без использования изображений для установки моей пользовательской кнопки.

Ответы [ 2 ]

0 голосов
/ 31 июля 2014

Это немного устарело, но вы можете просто импортировать файлы шрифтов (.ttf) в свой проект и вызывать их с помощью:

-[UIFont fontWithName:size:]
0 голосов
/ 03 июня 2010

Вы можете расширить класс UILabel через категорию, чтобы добавить некоторые функциональные возможности. Проблема в том, что UIButton создает свою собственную UILabel, и вы не можете переопределить это (безопасно). Поэтому, если вы решите использовать UIButton, единственным вариантом для изменения поведения метки по сравнению со стандартным UILabel является фактическое изменение класса UILabel (через категории).

Кроме того, вы можете написать свой собственный UIControl и имитировать функциональность UIButton. Тогда вы можете делать все, что захотите.

EDIT - Если этот класс FontLabel расширяется от UILabel, может быть возможно расширить UIButton и использовать метод swizzling, чтобы заставить его создавать FontLabel в качестве titleLabel. Это довольно экстремально, и я думаю, что вам гораздо лучше написать собственный UIControl, имитирующий поведение кнопок.

...