首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无边界透明UINavigationBar

无边界透明UINavigationBar
EN

Stack Overflow用户
提问于 2015-05-01 15:22:55
回答 2查看 270关注 0票数 1

使用iOS 7,现在很容易向UINavigationBar添加模糊内容,即使使用BarTint,请参阅http://blog.ashleynh.me/frosted-uinavigationbar/和下面的示例图像:

然而,在底部有一条边界。我怎么才能摆脱边境,让自己看起来更像这样呢?

更新

我取了Danny和Shali的代码,这是结果。正如你所看到的,边界不再显示,但没有模糊。

代码语言:javascript
复制
let navigationBarAppearance = UINavigationBar.appearance()
navigationBarAppearance.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
navigationBarAppearance.shadowImage = UIImage()
navigationBarAppearance.translucent = true

这是探长的截图:

我也试过:

代码语言:javascript
复制
let navigationBarAppearance = UINavigationBar.appearance()
let clearImage = UIImage.imageWithColor(UIColor.clearColor())
navigationBarAppearance.setBackgroundImage(clearImage, forBarMetrics: UIBarMetrics.Default)
navigationBarAppearance.shadowImage = clearImage
navigationBarAppearance.translucent = true

同样的结果,但检查员有一点不同:

EN

回答 2

Stack Overflow用户

发布于 2015-05-01 15:41:43

苹果文档:ref/occ/instp/UINavigationBar/shadowImage

默认值为零,它对应于默认的阴影图像。非零时,此属性表示要显示的自定义阴影图像,而不是默认的。对于要显示的自定义阴影图像,还必须使用setBack背景图像:forBarMetrics: method.设置自定义背景图像,如果使用默认背景图像,则不管此属性的值如何,都将使用默认的阴影图像。

因此,基本上您需要在设置shadowImage之前设置背景图像以使其工作。

编辑

从彩色(Swift)生成的图像作为背景导航。当您更改导航栏的backgroundImage时,不确定您的模糊函数是否仍能工作。这将是另一个问题。

代码语言:javascript
复制
class func imageWithColor(color: UIColor) -> UIImage {
    let rect = CGRectMake(0, 0, 1, 1)
    UIGraphicsBeginImageContextWithOptions(rect.size, false, 0)
    color.setFill()
    UIRectFill(rect)
    var image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    return image
}
票数 1
EN

Stack Overflow用户

发布于 2015-05-01 15:31:21

你试过navigationBar.shadowImage = UIImage new;?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29989729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档