您好我正在使用此代码设置导航栏的阴影图像:
if ([self.navigationController.navigationBar respondsToSelector:@selector(shadowImage)]) {
[[UINavigationBar appearance] setShadowImage:[UIImage imageNamed:@"nav-bar-shadow"]];
[[UIToolbar appearance] setShadowImage:[UIImage imageNamed:@"tool-bar-shadow"] forToolbarPosition:UIToolbarPositionAny];
}
然而,它似乎只是iOS 6(虽然我不能肯定地说 - 我无法在任何地方找到关于此的文档)。它在iOS 5上不起作用。
是否存在某种替代方案 - 在导航栏下全局设置图像? 我想到了自定义UIView,但是如何在全球范围内做到这一点?
答案 0 :(得分:1)
你可以:
viewController.view
[[UIApplication sharedApplication] keyWindow]
,这将在窗口中全局添加图像。但是,它可能会有点难看,例如在显示模态视图控制器时。UINavigationBar
,用子视图做一些魔术,然后通过[[UINavigationController alloc] initWithNavigationBarClass:[YourNavBarSubclass class] toolbarClass:[UIToolbar class]]
答案 1 :(得分:0)
shadowImage仅限ios6:
@property(nonatomic,retain) UIImage *shadowImage NS_AVAILABLE_IOS(6_0) UI_APPEARANCE_SELECTOR;