【发布时间】:2012-08-27 13:18:59
【问题描述】:
我正在使用以下代码为我的UINavigationBar 和UIToolbar 设置自定义图像:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigationBar"] forBarMetrics:UIBarMetricsDefault];
[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"toolbar"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
我正在使用PhotoViewer 并将其视图控制器推入视图。它应该有一个半透明的导航栏和工具栏,但它使用的是我提供的半透明图形。
问题是,稍后当我推入另一个视图控制器时(从 PhotoViewer 弹出回 super 后),它的工具栏也是半透明的,这意味着内容位于它后面。
我没有运气尝试了以下方法:
[[UINavigationBar appearanceWhenContainedIn:[EGOPhotoViewController class], nil] setBarStyle:UIBarStyleBlackTranslucent];
[[UINavigationBar appearanceWhenContainedIn:[EGOPhotoViewController class], nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
[[UIToolbar appearanceWhenContainedIn:[EGOPhotoViewController class], nil] setBarStyle:UIBarStyleBlackTranslucent];
[[UIToolbar appearanceWhenContainedIn:[EGOPhotoViewController class], nil] setBackgroundImage:nil forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
任何想法如何为 PhotoViewer 实现黑色半透明 barStylejust 并使用我的自定义图形保留其他所有内容?
更新:为了获得一些帮助,我将一个示例项目与导航栏的自定义图形放在一起,然后尝试显示一个带有半透明导航栏的推送视图控制器使用外观代理时没有成功:EXAMPLE PROJECT
【问题讨论】:
标签: ios uinavigationcontroller uinavigationbar uitoolbar uiappearance