现在在我的申请中,我有一个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更改颜色。 有没有办法可以在以后更改色调颜色?
答案 0 :(得分:1)
更改按钮的tintColor非常困难。因为有其他颜色来自色调颜色,并且在样式的不同部分和所有状态中使用。
如果您只使用有限数量的色调颜色,最有希望的方法是使用TTButons setStylesWithSelector:
方法来改变样式。只需将您在样式表中定义的方法的选择器传递给它。
如果必须支持任意颜色,甚至可以在样式表上使用可设置的UIColor属性,然后使用该属性为按钮构建样式。我不确定,但这可能受到TTStylesheet缓存样式的限制。