改变TTButton的色调

时间:2010-07-09 17:34:52

标签: objective-c iphone cocoa-touch xcode three20

现在在我的申请中,我有一个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方法中设置的颜色。

但我希望以后能够使用setter更改颜色。 有没有办法可以在以后更改色调颜色?

1 个答案:

答案 0 :(得分:1)

更改按钮的tintColor非常困难。因为有其他颜色来自色调颜色,并且在样式的不同部分和所有状态中使用。

如果您只使用有限数量的色调颜色,最有希望的方法是使用TTButons setStylesWithSelector:方法来改变样式。只需将您在样式表中定义的方法的选择器传递给它。

如果必须支持任意颜色,甚至可以在样式表上使用可设置的UIColor属性,然后使用该属性为按钮构建样式。我不确定,但这可能受到TTStylesheet缓存样式的限制。