5

iOS 5のUIPopoverControlerから色を変更しようとしています。そのために、次のようにポップオーバーに割り当てるUIPopoverBackgroundViewのサブクラスを使用します。

self.popover.popoverBackgroundViewClass = [KWPopoverBackgroundView class];

KWPopoverBackgroundViewクラスで定義したように、ポップオーバーは黒になりましたが、外観に問題があります。ポップオーバー内のnavigationControllerの戻るボタン(メダル)はまだ青色です。すべてを黒で統一したい。この青い色を取り除くにはどうすればよいですか?

ここに画像の説明を入力してください

私はnavigationController.navigationBarのtintColorを変更しようとしましたが、もちろんポップオーバーはそれを気にしません。iOS 5.0でこれを修正する方法はありますか?(私のアプリはAppStoreにあります。これを修正するために、醜いハックはしたくありません)ありがとうございます。

4

1 に答える 1

12

わかりました。UIPopoverController内のUINavigationControllerの戻るボタン(または他のUIBarButtonItems)から色合いの色を変更する方法を見つけました。

UIPopoverBackgroundViewを使用すると、背景画像と矢印画像のみを変更できます。他のアイテムの外観を変更するには、次のようなUIAppearanceを使用する必要があります。

// Set the UIBarButtonItem(s) inside UIPopoverController class to dark gray
[[UIBarButtonItem appearanceWhenContainedIn:[UIPopoverController class], nil] 
                        setTintColor:[UIColor colorWithWhite:0.1f alpha:1.0f]];

黒のバックボタンアイテムが付いた黒のポップオーバー

于 2012-06-18T18:26:02.740 に答える