在我的应用程序的应用程序委托中,我调用以下方法:
- (void)customizeAppearance
{
UIImage *gradientPortrait = [[UIImage imageNamed:@"gradient_portrait"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
UIImage *gradientLandscape = [[UIImage imageNamed:@"gradient_landscape"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UINavigationBar appearance] setBackgroundImage:gradientPortrait
forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setBackgroundImage:gradientLandscape
forBarMetrics:UIBarMetricsLandscapePhone];
}
此代码允许自定义应用程序中的所有导航栏。因为我使用的图像是绿色的,所以每个条都变成绿色。
现在我的目标是为特定导航栏覆盖上述配置。特别是,在应用程序生命周期中,我使用UIModalPresentationFormSheet
演示样式打开一个模态控制器。此控制器显示在UINavigationController
. 由于我还需要显示附带的导航栏UINavigationController
,我想知道如何在不更改我在应用程序委托中设置的全局配置的情况下自定义该栏。
我尝试将tintColor
导航栏的属性(以模态方式呈现)设置为[UIColor blackColor]
和barStyle
to UIBarStyleBlack
,但它们不起作用。只有 barbutton 项目受到影响。
先感谢您。
PS我使用的是iOS 5