您好,我正在使用以下代码设置导航栏的阴影图像:
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,但是如何在全局范围内执行此操作?
最佳答案
你可以:
viewController.view
[[UIApplication sharedApplication] keyWindow]
,这会将图像全局添加到窗口中。但是,它可能会变得有点丑陋,例如显示模态视图 Controller 时。 UINavigationBar
的子类,在其中使用 subview 进行一些魔术操作,然后通过[[UINavigationController alloc] initWithNavigationBarClass:[YourNavBarSubclass class] toolbarClass:[UIToolbar class]]
初始化您的navigationController 关于iphone - 外观代理-iOS 5的setShadowImage替代品吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12690753/