开发者

overridden three20 TTDefaultStyleSheet style not working

i recently got three20 integrated into my app and am trying to override the default toolbar color in TTWebController.

In TTWebController.m:118 I see that this is setting the toolbar's tintColor:

_toolbar.tintColor = TTSTYLEVAR(toolbarTintColor);

So I created my own stylesheet that subclasses TTDefaultStyleSheet and overrides toolbarTintColor

FooStyleSheet.h:

#import <Three20Style/Three20Style.h>
#import <Three20Style/TTStyleSheet.h>
#import <Three20Style/TTDefaultStyleSheet.h>

@interface FooStyleSheet : TTDefaultStyleSheet

@property (nonatomic, readonly) UIColor* toolbarTintColor;

@end

FooStyleSheet.m:

#import "FooStyleSheet.h"

@implementation RaptrStyleSheet

- (UIColor*)toolbarTintColor {
    re开发者_运维技巧turn RGBCOLOR(0, 0, 0); // should override TTDefaultStyleSheet
}

@end

and in my application:didFinishLaunchingWithOptions: i set my default stylesheet

[TTStyleSheet setGlobalStyleSheet:[[[FooStyleSheet alloc] init] autorelease]];

but when I view the TTWebController, it doesn't inherit my tintColor. If I edit TTDefaultStyleSheet.m directly:

- (UIColor*)toolbarTintColor {
  return [UIColor blackColor];
}

it works as expected.

Is there something I am overlooking that is preventing my style to be picked up?

thanks,

-norm


In your header file, the @property is unnecessary - does removing this solve your problem?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜