2

我在 iOS7 gm 中使用 UINavigationBar 外观自定义 UINavigationBar BackgroundImage,但在 UIPopoverController 中不起作用。我将此代码片段用于 iOS7 gm,

[[UINavigationBar appearance] setBackgroundImage:navigationBarBackgroundImage   forBarMetrics:UIBarMetricsDefault];

上面的代码是在 AppDelegate 中设置的

4

2 回答 2

4

当导航控制器在弹出框内时,其导航栏的外观设置为与弹出框的背景相匹配。

要自定义弹出框的背景,您应该使用自定义UIPopoverBackgroundView类。

于 2013-09-24T16:11:10.217 回答
1

由于setBackgroundImage:forBarMetrics:在弹出框中包含导航控制器并且运行良好时不起作用setBackgroundColor:,我们可以使用背景图像作为背景颜色的图案,如下所示用于某个导航栏:

[self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"NavigationBarBG"]]];

或者对于所有导航栏:

[[UINavigationBar 外观] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"NavigationBarBG"]]];

于 2014-01-16T14:47:24.807 回答