переопределен три стиля TTDefaultStyleSheet не работает - PullRequest
4 голосов
/ 05 мая 2010

Недавно в мое приложение интегрировано три20, и я пытаюсь переопределить цвет панели инструментов по умолчанию в TTWebController.

В TTWebController.m: 118 Я вижу, что это настройка tintColor панели инструментов:

_toolbar.tintColor = TTSTYLEVAR(toolbarTintColor);

Итак, я создал свою собственную таблицу стилей, которая подклассов TTDefaultStyleSheet и переопределяет 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

и вмое приложение: didFinishLaunchingWithOptions: я установил таблицу стилей по умолчанию

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

, но когда я смотрю TTWebController, он не наследует мой tintColor.Если я отредактирую TTDefaultStyleSheet.m напрямую:

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

, он будет работать, как и ожидалось.

Есть ли что-то, что я пропускаю, что мешает моему стилю быть выбранным?

спасибо,
-норма

1 Ответ

0 голосов
/ 11 мая 2011

В вашем заголовочном файле @property не нужен - устраняет ли это вашу проблему?

...