2009-10-31 29 views
7

我使用Three20庫中的TTPhotoViewController子類來顯示來自Web位置的圖像。圖像加載正常,但導航欄和工具欄顯示爲默認色調。我正在使用帶有自定義色調的導航欄(在MainWindow.xib中設置)Three20庫 - TTPhotoViewController的子類有一個不透明的導航欄

我試過這些東西讓它顯示黑色半透明條,但這些看起來都不起作用。

  1. 導航欄樣式設置爲黑色半透明的MainWindow.xib
  2. 導航欄樣式設置爲黑色不透明的MainWindow.xib中
  3. 顯式設置導航欄風格,以黑色半透明的子類的viewWillAppear中:

有人可以告訴我爲什麼會發生這種情況,我該如何解決這個問題?謝謝。

回答

15

編輯:我是個白癡。您正試圖設置款式,而不是顏色。以下是所有有效信息,但您幾乎可以肯定需要的是navigationBarStyle屬性defined by TTViewController。抱歉。


Three20有一個「樣式表」機制內置到它,它預期的目的是爲了節省您不必設置都在你的應用程序中的許多UI對象的色調顏色,字體等,一遍又一遍。但是,如果你不知道它在那裏,那麼最終會出現這種情況。你需要做的是:

在應用程序中創建的TTDefaultStyleSheet一個子類,並覆蓋至少這個方法:

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

的Someplace在您的應用程序(可能applicationDidFinishLaunching:),請致電:

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

(您可能想瀏覽TTDefaultStyleSheet.h,因爲那裏定義了一大堆由框架使用的其他樣式,並且您可能還想覆蓋。)