Изменить цвета метки пользовательского UIButton с несколькими метками - PullRequest
1 голос
/ 04 февраля 2011

Я создаю пользовательскую кнопку с несколькими метками.Я хочу иметь возможность изменить цвет текста надписей на выделенных / нормальных UIControlStates.Я знаю, что можно изменить цвет текста заголовка в зависимости от состояния элемента управления, но я не могу понять это для пользовательских меток внутри кнопки.Есть идеи?

Ответы [ 3 ]

2 голосов
/ 04 февраля 2011

Спасибо за идею @Rich.Я подкласс UIButton и поместил этот код в новый класс.

Вот код, который я использовал:

- (void)setHighlighted:(BOOL)bHighlighted
{
    [super setHighlighted:bHighlighted];

    if (bHighlighted) {
        [label1 setTextColor:[UIColor whiteColor]];
        [label2 setTextColor:[UIColor whiteColor]];
    }else {
        [label1 setTextColor:[UIColor blackColor]];
        [label2 setTextColor:[UIColor blackColor]];
    }
}
1 голос
/ 04 февраля 2011

Звучит так, будто вы хотите использовать некоторые из унаследованных UIControl методов (таких как sendAction: to: forEvent :). Это обеспечивает еще более точное управление, чем с UIButton.

0 голосов
/ 04 февраля 2011

Это довольно сложно, но у меня есть книга об этом, которая называется Advanced iOS 4 development. в основном вы должны использовать среду выполнения, чтобы поменять метод setHighlighted.

Редактировать: технически для ячеек таблицы, но в это под табличным представлением отбеливает

...