В Objective-C у меня есть категория для класса:
@interface UILabel(CustomInit)
- (id)initWithCoder:(NSCoder *)coder;
@end
То, что я делаю, - это написание пользовательской функции инициализации, которая делает некоторые дополнительные вещи, и то, что я хотел бы сделать, - в этой пользовательской функции инициализации вызывать базовый initWithCoder UILabel. Это возможно? Как так?
EDIT
Спасибо. Хорошо, так что мои планы спорят. Не могу просто перегрузить initWithCoder. Есть ли способ достичь той же функциональности (где все UILabels получают этот добавленный шаг инициализации) без перегрузки initWithCoder? Или, может быть, есть пример кода для initWithCoder UILabel, который я могу просто переписать с добавленным кодом?
EDIT
Хорошо, чтобы было понятно, что я пытаюсь:
Можно ли встроить пользовательский шрифт в приложение для iPhone?
имеет ответ, в котором кто-то вручную добавляет пользовательский шрифт на iphone с помощью частной функции GraphicServices GSFontAddFromFile. Я попробовал этот код, и он отлично работал для ручной установки шрифта метки. Однако, если вы попытаетесь установить шрифт в Интерфейсном Разработчике, он не загружается должным образом, он просто падает до системного шрифта. Я хотел загрузить шрифт вручную и автоматически установить шрифт метки с выбранным шрифтом в IB. Таким образом, мне не нужно делать розетки для каждой этикетки, которую я положил. Мне также не нужно писать нелепый подкласс меток (который также был предложен в этой теме и выполняет большое количество пользовательских рисунков), что я нашел довольно гротескным. Теперь я все еще мог бы создать подкласс для всех моих меток, но есть случай, когда метки встроены в другие объекты пользовательского интерфейса, то есть в кнопки UIB. Я бы хотел, чтобы встроенные ярлыки тоже не ломались.
Любые предложения будут великолепны. Спасибо.