7

Web 上の場所から画像を表示するために、Three20 ライブラリの TTPhotoViewController サブクラスを使用しています。画像は正常に読み込まれますが、ナビゲーション バーとツールバーはデフォルトの色合いで表示されます。カスタム色合いのナビゲーション バーを使用しています (MainWindow.xib で設定)

黒い半透明のバーを表示するためにこれらのことを試しましたが、どれも機能していないようです。

  1. MainWindow.xib でナビゲーション バーのスタイルを黒の半透明に設定する
  2. MainWindow.xib でナビゲーション バーのスタイルを黒色の不透明に設定する
  3. サブクラスの viewWillAppear で、ナビゲーション バーのスタイルを黒の半透明に明示的に設定します。

なぜこれが起こるのか、どうすれば解決できるのか教えてください。ありがとう。

4

1 に答える 1

15

編集:私はばかです。色ではなくスタイルを設定しようとしています。以下はすべて有効な情報ですが、ほぼ確実に必要なのは で定義されnavigationBarStyleたプロパティです。ごめん。TTViewController


Three20 には「スタイル シート」メカニズムが組み込まれています。このメカニズムの目的は、アプリ内の多くの UI オブジェクトすべてに色合いやフォントなどを何度も設定する必要がないようにすることです。しかし、そこにあることを知らなければ、まさにこの状況になってしまいます。あなたがする必要があるのは:

アプリケーションでのサブクラスを作成し、TTDefaultStyleSheet少なくとも次のメソッドをオーバーライドします。

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

アプリのどこか (おそらくapplicationDidFinishLaunching:) で、次のように呼び出します。

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

TTDefaultStyleSheet.h(フレームワークによって使用され、オーバーライドしたい場合がある他のスタイルが定義されているため、をブラウズすることをお勧めします。)

于 2009-11-02T16:09:41.090 に答える