2010-05-05 9 views
4

J'ai récemment intégré trois20 dans mon application et j'essaie de remplacer la couleur par défaut de la barre d'outils dans TTWebController.override three20 Le style TTDefaultStyleSheet ne fonctionne pas

En TTWebController.m: 118 Je vois que c'est de configurer le tintColor de la barre d'outils:

_toolbar.tintColor = TTSTYLEVAR(toolbarTintColor); 

Je crée ma propre feuille de style qui sous-classe TTDefaultStyleSheet et remplace 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 { 
    return RGBCOLOR(0, 0, 0); // should override TTDefaultStyleSheet 
} 

@end 

et dans mon application: didFinishLaunchingWithOptions: i tournai ma feuille de style par défaut

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

mais quand je vois le TTWebController, il ne possèdes pas mon tintColor. Si je édite TTDefaultStyleSheet.m directement:

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

cela fonctionne comme prévu.

Y a-t-il quelque chose que je néglige qui empêche mon style d'être ramassé?

grâce,
-norme

+0

Salut funkadelic, as-tu trouvé une réponse à ta question? –

Répondre

0

Dans votre fichier d'en-tête, le @property n'est pas nécessaire - ne suppression de cette résoudre votre problème?