Three20库 - TTPhotoViewController的子类有一个不透明的导航栏

问题描述:

我使用Three20库中的TTPhotoViewController子类来显示来自Web位置的图像。图像加载正常,但导航栏和工具栏显示为默认色调。我正在使用带有自定义色调的导航栏(在MainWindow.xib中设置)Three20库 - TTPhotoViewController的子类有一个不透明的导航栏

我试过这些东西让它显示黑色半透明条,但这些看起来都不起作用。

  1. 导航栏样式设置为黑色半透明的MainWindow.xib
  2. 导航栏样式设置为黑色不透明的MainWindow.xib中
  3. 显式设置导航栏风格,以黑色半透明的子类的viewWillAppear中:

有人可以告诉我为什么会发生这种情况,我该如何解决这个问题?谢谢。

编辑:我是个白痴。您正试图设置款式,而不是颜色。以下是所有有效信息,但您几乎可以肯定需要的是navigationBarStyle属性defined by TTViewController。抱歉。


Three20有一个“样式表”机制内置到它,它预期的目的是为了节省您不必设置都在你的应用程序中的许多UI对象的色调颜色,字体等,一遍又一遍。但是,如果你不知道它在那里,那么最终会出现这种情况。你需要做的是:

在应用程序中创建的TTDefaultStyleSheet一个子类,并覆盖至少这个方法:

- (UIColor*)navigationBarTintColor { 
    return RGBCOLOR(119, 140, 168); 
} 

的Someplace在您的应用程序(可能applicationDidFinishLaunching:),请致电:

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

(您可能想浏览TTDefaultStyleSheet.h,因为那里定义了一大堆由框架使用的其他样式,并且您可能还想覆盖。)