5

我尝试从 iOS 5 上的 UIPopoverControler 更改颜色。为此,我使用了 UIPopoverBackgroundView 的子类,我将其分配给我的弹出框,如下所示:

self.popover.popoverBackgroundViewClass = [KWPopoverBackgroundView class];

正如我在 KWPopoverBackgroundView 类中定义的那样,我的弹出框现在是黑色的,但我的外观仍然存在问题。我的弹出框内的导航控制器的后退按钮(奖牌)仍然是蓝色的。我希望一切都统一为黑色。我如何摆脱这种蓝色?

在此处输入图像描述

我试图改变我的 navigationController.navigationBar 的 tintColor 但当然弹出框并不关心这一点。有没有办法在 iOS 5.0 中解决这个问题?(我的应用程序在 AppStore 上,我不想要一个丑陋的黑客来解决这个问题)谢谢。

4

1 回答 1

12

Ok, I just found how to change the tint color from the UINavigationController back button (or other UIBarButtonItems) inside the UIPopoverController.

With UIPopoverBackgroundView you can only change background and arrow images. To change the other items appearance you have to use UIAppearance with something like the following.

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

black popover with black back button item

于 2012-06-18T18:26:02.740 回答