我正在使用Three20库中的TTPhotoViewController子类来显示来自Web位置的图像。图像加载正常,但导航栏和工具栏显示默认色调。我正在使用带有自定义色调的导航栏(在MainWindow.xib中设置)
我试过这些东西让它显示黑色半透明条纹,但这些似乎都不起作用。
有人可以告诉我为什么会发生这种情况以及如何解决这个问题?感谢。
答案 0 :(得分:15)
编辑:我是个白痴。您正在尝试设置样式,而不是颜色。以下是所有有效信息,但您几乎肯定需要的是navigationBarStyle
属性defined by TTViewController
。遗憾。
Three20内置了“样式表”机制,其目的是使您不必在应用程序中的所有UI对象上反复设置色彩,字体等。但是,如果您不知道它在那里,那么您最终会遇到这种情况。你需要做的是:
在您的应用程序中创建TTDefaultStyleSheet
的子类,并至少覆盖此方法:
- (UIColor*)navigationBarTintColor {
return RGBCOLOR(119, 140, 168);
}
您应用中的某个位置(可能是applicationDidFinishLaunching:
),请致电:
[TTStyleSheet setGlobalStyleSheet:
[[[YourStyleSheetClass alloc] init] autorelease]];
(您可能希望在TTDefaultStyleSheet.h
中浏览,因为框架使用了大量其他样式,并且您可能还想覆盖。)