Цвет и размер шрифта UILabel меняются из XIB

#ios #xcode #colors #uilabel #xib

#iOS #xcode #Цвет #uilabel #xib

Вопрос:

У меня возникли некоторые проблемы с приложением, над которым я работаю.

Раньше это работало просто отлично, но теперь я заметил, что многие UILabel, которые у меня есть в моем XIB, имеют сброс шрифта и цвета.

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

Если я установлю цвет программно, он будет работать нормально.. Но это означало бы, что мне нужно сбросить цвет для всех меток, которые у меня есть в моих файлах XIB…

Как я уже сказал, раньше это работало просто отлично… Я сравнил файл XIB с более старой версией, используя SVN, это тот же файл, но метки по-прежнему отображаются с измененным цветом…

У вас есть какие-либо идеи о том, как это решить?

Примечание: я использую Xcode 5.1.1, и ошибка возникает только при тестировании на устройстве с iOS 5.

Комментарии:

1. Можете ли вы определить, откуда в вашем коде может возникнуть ошибка, и показать это?

2. Я попытаюсь сравнить версии SVN, пока не найду разницу, но это может занять некоторое время. Если я когда-нибудь найду причину, я опубликую ее здесь. До тех пор, если у кого-нибудь есть какие-то подсказки…

Ответ №1:

пожалуйста, проверьте, установили ли вы внешний вид где-нибудь или нет.

 [UILabel appearance] setBackgroundColoer:
 

Лучше программно настроить атрибут внешнего вида компонента пользовательского интерфейса

Комментарии:

1. как я уже сказал, я знаю, что это сработает, но поскольку раньше это работало нормально и больше не работает, я хотел бы знать, может ли быть другой способ это исправить. это проект с более чем 50 xib, я не хочу тратить несколько часов, просто делая это программно.

Ответ №2:

Найдено, что было не так… Похоже, что другой разработчик написал этот код в приложении :

 [[UILabel appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor blackColor]];
[[UILabel appearanceWhenContainedIn:[UISearchBar class], nil] setFont:[UIFont fontWithName:@"HelveticaNeue-Italic" size:14]];
 

И он плохо работает на iOS5… Но это решило мою проблему.

Теперь мне нужно найти правильный способ изменить цвет и шрифт заполнителя в панели поиска пользовательского интерфейса.