【问题标题】:Changing tint color of TTButton更改 TTButton 的色调颜色
【发布时间】:2010-07-09 17:34:51
【问题描述】:

现在在我的应用程序中,我有一个TTButton。 我最初使用TTCatalog 之类的样式表设置TTButton 的颜色。

看起来像这样:

[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 更改颜色。 有什么方法可以让我稍后更改色调颜色吗?

【问题讨论】:

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


    【解决方案1】:

    更改按钮的 tintColor 会非常困难。因为还有其他颜色是从 tint color 派生出来的,用于样式的不同部分和所有状态。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      相关资源
      最近更新 更多