1

appdelegate で次のコードを使用します。

UINavigationBar *navigationBar = [UINavigationBar appearance];
[navigationBar setBackgroundImage:[[UIImage imageNamed:@"top_bar"] stretchableImageWithLeftCapWidth:5 topCapHeight:5] forBarMetrics:UIBarMetricsDefault];
[navigationBar setBackgroundImage:[[UIImage imageNamed:@"top_bar_scape"] stretchableImageWithLeftCapWidth:5 topCapHeight:5] forBarMetrics:UIBarMetricsLandscapePhone];

すべて正常に動作しますが、iOS6 の Facebook 共有シートを開いてオーディエンス リスト (またはアルバム リストは関係ありません) を開くと、奇妙なバグが発生します。以下の画面を参照してください。

見た目が変わらない普通 ←見た目変化なしのノーマル 見た目が変わるバギー ← 見た目変化ありのバギー

このバグを回避する方法はありますか? ありがとう!:)

4

2 に答える 2

2

外観設定は、設定を定義した後に表示されるすべてのコントロールに適用されます。したがって、あなたの場合、すべてのナビゲーション バーが背景画像を使用します。黒いナビゲーション バーを持つべきビュー コントローラーをプッシュする前に外観設定 (黒色) を変更し、黒いナビゲーションでビュー コントローラーをポップする前にそれらを元に戻すことで、問題を解決できます。私は自分のプロジェクトで同様の問題を抱えていましたが、上で述べたことが問題を解決しました。

PSスペルミスとソースコードの欠如について申し訳ありません。私は外出中で、電話から入力しています;)

于 2013-04-27T20:36:27.500 に答える