Изменение оттенка цвета TTButton - PullRequest
0 голосов
/ 09 июля 2010

Прямо сейчас в моем приложении у меня есть TTButton. Я устанавливаю цвет TTButton, изначально используя таблицу стилей, например TTCatalog.

Это выглядит так:

[TTStyleSheet setGlobalStyleSheet:[[[CustomBadgeButtonStyleSheet alloc] init] autorelease]];
[code for initializing ttbutton here];

И затем есть класс с именем buttonStyleSheet, и там у меня есть:

- (TTStyle*)toolbarBackButton:(UIControlState)state {
    TTShape* shape = [TTRoundedLeftArrowShape shapeWithRadius:4.5];
    UIColor* tintColor = RGBCOLOR(47,47,47);
    return [TTSTYLESHEET toolbarButtonForState:state shape:shape tintColor:tintColor font:nil];
}

Но дело в том, что только я его инициализирую, цвет оттенка будет тем цветом, который установлен в методе (TTStyle*)toolbarBackButton:(UIControlState)state.

Но я хочу иметь возможность изменить цвет позже, используя сеттер. Можно ли изменить цвет оттенка позже?

1 Ответ

1 голос
/ 09 июля 2010

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

Если у вас есть только ограниченное количество оттенков, самый многообещающий подход - использовать метод TTButons setStylesWithSelector: для изменения стиля. Просто передайте ему селектор метода, который вы определили в своей таблице стилей.

Если вам нужно поддерживать произвольные цвета, вы даже можете использовать настраиваемое свойство UIColor в своей таблице стилей, которое затем используется для создания стиля для вашей кнопки. Я не уверен, но это может быть ограничено стилями кэширования TTStylesheet.

...