我正在为我设置自定义图像UINavigationBar
并UIToolbar
使用以下代码:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigationBar"] forBarMetrics:UIBarMetricsDefault];
[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"toolbar"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
我正在使用PhotoViewer并将其视图控制器推入视图。它应该有一个半透明的导航栏和工具栏,但它使用的是我提供的半透明图形。
问题是,稍后当我推入另一个视图控制器时(从 PhotoViewer 弹出回超级后),它的工具栏也是半透明的,这意味着内容位于它后面。
我没有运气就尝试了以下方法:
[[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 实现黑色半透明 barStyle并将其他所有内容保留在我的自定义图形中吗?
更新:为了获得一些帮助,我将一个示例项目与导航栏的自定义图形放在一起,然后尝试在使用外观代理时显示带有半透明导航栏的推送视图控制器但没有成功:EXAMPLE PROJECT