主帖 6 条回复 如何在一个自定义的UIView中实现ios7中UINavigationBar的模糊效果 qinyue0306 · 2013年11月07日 · 阅读 10 · 无人欣赏。 设置UINavigationBar的barStyle为UIBarStyleBlack,translucent为YES,可以实现较为明显的模糊效果,但是只能是黑色的背景,即使算上UIBarStyleDefault也只是白色。但是,如果我想实现其他颜色的模糊效果,该如何做呢
#1 ithinco 2013年11月07日 可以参考下《如何在 iOS 7 中设置 barTintColor 实现类似网易和 Facebook 的 navigationBar 效果》 欣赏 0 反对 0 回复本楼
#2 jjjjjeffrey 2013年11月07日 直接设置 @property(nonatomic, retain) UIColor *barTintColor 属性就可以了 欣赏 0 反对 0 回复本楼
#3 qinyue0306 2013年11月07日 设置barTintColor模糊效果不明显,至少在iOS7.0.3中是这样,如果我的ViewController不在UINavigationController中,那么我就不能使用UINavigationController的UINavigationBar,我需要自定义一个NavigationBar,这时我有2种选择,如果继承于UINavigationBar,创建一个UINavigationBar,将之add到相应的UIViewController中,如何将其延伸到状态栏下方呢?如果不继承于UINavigationBar,就需要自己实现这种模糊效果,该如何实现呢?我有一个想法,将下方的内容ViewA制作一个模糊的拷贝ViewB,当下方内容区域ViewA向上移动透过NavigationBar的时候,其实显示的是ViewB,只是这样又有问题:如何制作这个拷贝ViewB?性能方面是否可行? 欣赏 0 反对 0 回复本楼
#6 qinyue0306 2013年11月08日 5楼 @sam 在iOS7.0.3中同样不适用。我发现一个问题,UINavigationBar在UINavigationController体系中使用可以向上延伸到状态栏下方,但是在其中添加log,发现其frame的依然是{0,20;320,44},但是它表现的效果就像是{0,0;320,64},不知为何?如果将UINavigationBar添加到一个非UINavigationController体系中的UIViewController中,如何将它延伸到状态栏下方呢? 欣赏 0 反对 0 回复本楼