我目前正在为客户构建一个 iOS 应用程序,但遇到了一个相当大的障碍。我的意思是,我可以编写自己的 UINavigationBar 之类的东西,但这会在以后导致很多问题。
到目前为止,我已经尝试了我所知道的一切,并花了几个小时寻找解决方案(覆盖 CALayer,使用 CoreGraphics 和几乎所有其他东西),我得到了相同的结果。无论我多么努力地尝试删除 UINavigationBar 的背景,它仍然显示一个略带半透明的白色背景。
我需要在导航栏上进行大量自定义(即从“blackColor”到“clearColor”的渐变,如果导航栏的背景拒绝完全,我就无法做到这一点 透明。我尝试将所有 CALayer 从 UINavigationBar 层复制到我添加的 subview ,但它一直崩溃,即使在替换委托(delegate)和 super 层时也是如此。
我真的需要帮助。下面是我试图实现的多种效果之一。 (蓝色矩形不是图像的焦点,无关紧要。)
最佳答案
让它完全透明:
(UINavigationBar.appearance()).translucent = true
(UINavigationBar.appearance()).barTintColor = UIColor.clearColor()
(UINavigationBar.appearance()).backgroundColor = UIColor.clearColor()
(UINavigationBar.appearance()).setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
(UINavigationBar.appearance()).shadowImage = UIImage()
编辑: 使用 iOS 8.3 看起来像这样:
还是我遗漏了什么?
关于ios - UINavigationBar的完全自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30534947/