iphone - 如何将附加阴影添加到 uinavigationbar 和 uitoolbar

标签 iphone uinavigationbar uitoolbar shadow dropshadow

我正在开发一个为 UINavigationBar 和 UIToolbar 使用自定义图像的应用程序,这很好,但它们还需要导航栏下方和工具栏上方的阴影,该阴影始终位于所有其他 View Controller 之上。我不能简单地制作包含阴影的背景图像,因为这不适用于我的表格 View 。当我将导航栏和工具栏设置为隐藏(动画)时,我还需要动画消失阴影。

我浏览了 Stack Overflow 和网上的其他资源,并研究了建议的解决方案,但我无法成功子类化 UINavigationBar、UIToolbar 甚至 UINavigationController 来提供我想要的结果。

非常感谢您提供的任何帮助。谢谢:)

最佳答案

最后,我决定只使用带有阴影的背景 png 图像,并将它们应用到 UINavigationBar 和 UIToolbar 的子类中,该子类实现了 drawRect 方法(用于背景图像)和 sizeThatFits 方法来调整导航栏的大小。这是最终产品(按钮隐藏了栏):

以下是我在每个子类中实现的方法:

 - (void)drawRect:(CGRect)rect {
   UIImage *image = [[UIImage imageNamed:@"bargloss-withshadow.png"] retain];
   [image drawInRect:rect];
   [image release];
}


- (CGSize)sizeThatFits:(CGSize)size {
    CGSize newSize = CGSizeMake(320,60);
    return newSize;
}

请注意,我还在 IB 中将条形设为黑色半透明,以便内容在其下方流动。

关于iphone - 如何将附加阴影添加到 uinavigationbar 和 uitoolbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5595878/

相关文章:

ios - 如何制作像Notes应用程序一样的删除动画

ios - 如何更改 UINavigationItem 的 leftBarButtonItem 的大小

swift - 所需页面的通用 UIToolbar - Xcode 8.3

ios - 跟踪UIBarButtonItem的选定状态?

iphone - 为什么 iPhone 不支持多任务处理?

iphone - Push ViewController 带模态动画(水平翻转)

ios - rightBarButtonItem 未显示在 View 上

iOS同时推送BottomBar和ToolBar

iphone - 如何将不透明的 UIView 作为半透明 UIView 的 subview ?

ios - UINavigationBar alpha 自动设置 0.909804