Как я могу сделать так, чтобы новые UILabel имели цвет по умолчанию как черный (вместо прозрачного) - PullRequest
0 голосов
/ 05 сентября 2011

Я хочу использовать IB столько, сколько смогу. Поэтому я хочу перетащить UILabel из палитры библиотеки в UIView. Когда я делаю это, UILabel устанавливается на белый (по умолчанию). Я хочу, чтобы цвет по умолчанию был черный. Я знаю, что могу сделать это программно, но я пытаюсь избежать этого.

Проблема: Я создал UIScrollView. Я установил размеры, а затем пытаюсь добавить UILabels.

Однако все надписи - белый текст (раздражает, потому что мне приходится менять свойство цвета для каждой надписи).

Есть ли способ сделать все надписи (новые, которые перетаскиваются из IB в вид) по умолчанию черным цветом текста?

1 Ответ

3 голосов
/ 05 сентября 2011

Прежде всего, если изменение столь же тривиально, как и изменение цвета фона, и вы хотите изменить цвет по умолчанию, вы должны иметь сотни (или, по крайней мере, десятки) меток, что говорит мне, что настоящая проблема где-то еще.

Однако, если вы действительно хотите сделать это, я могу придумать несколько способов:

  1. Подкласс UILabel и переопределите initWithCoder или в вашем подклассе, чтобы изменить цвет. Затем измените классы ваших меток, чтобы они указывали на ваш подкласс, что на самом деле не проще, чем изменение цвета, и вы даже не увидите результат в IB.

  2. Если бы это был любой другой подкласс UIView, переопределение drawRect в протоколе могло бы сработать. Чтобы заставить его работать для UILabel, вам, вероятно, придется также рисовать текст, и вы все равно не увидите результат в IB. Просто перечислите ваши варианты.

  3. Если вы действительно хотите увидеть результат в IB, вы можете сойти с ума и создать плагин для IB, который может быть определением убийства мухи кувалдой: http://cocoawithlove.com/2009/07/custom-views-in-interface-builder-using.html

  4. Наконец-то можно дождаться появления iOS 5 и UIAppearance. Проверьте "Что нового в iOS 5?" если вы зарегистрированный разработчик.

...