IOS UIВнешний вид

У меня есть следующая проблема. У меня есть собственный фон UIView, который я пытаюсь установить с помощью UIAppearance.

[[OptionsHeader appearance] setBackgroundColor:[UIColor headBackgroundColor]];

Но когда я использую его таким образом, все взгляды становятся черно-белыми.

[[UIView appearance] setBackgroundColor:[UIColor headBackgroundColor]];

Работает хорошо, но мне нужно, чтобы он хорошо работал в этом конкретном классе.

Любая помощь приветствуется. С уважением, EZFrag


person EZFrag    schedule 18.06.2013    source источник
comment
Вы реализуете протокол UIAppearance в своем пользовательском классе?   -  person Wain    schedule 18.06.2013
comment
Если вы хотите добавить цвет фона к определенному виду, лучше использовать свойство фона.   -  person Dilip    schedule 18.06.2013
comment
Да, я попытался добавить протокол UIAppearance.   -  person EZFrag    schedule 18.06.2013
comment
О, и это не для конкретного одиночного просмотра. Всего в приложении около 150 экранов для iPhone и iPad. Вы можете видеть, куда я иду с этим и почему...   -  person EZFrag    schedule 18.06.2013


Ответы (1)


Вам необходимо реализовать протокол UIAppearance в своем пользовательском классе, как описано здесь. По сути, вам «нужно» расширить свой пользовательский класс и аннотировать его с помощью UI_APPEARANCE_SELECTOR, чтобы определить, что (и как) делегат внешнего вида может взаимодействовать с вашим классом.

Я говорю «нужно», потому что на самом деле это не кажется обязательным, но трудно быть уверенным...

person Wain    schedule 18.06.2013
comment
Я пробовал это, но это не имело значения. Я также считаю, что в этом нет необходимости, UIView уже реализует это... - person EZFrag; 18.06.2013
comment
Подождите... Я что-то пропустил... Я быстро прочитал это. Я проверю это снова и дам вам знать. Но все же, если и работает, то все равно как-то тупо имхо. - person EZFrag; 18.06.2013