创建一个像 UINavigationBar 这样的半透明视图

Posted

技术标签:

【中文标题】创建一个像 UINavigationBar 这样的半透明视图【英文标题】:Create a translucent view like the UINavigationBar 【发布时间】:2014-09-11 11:57:46 【问题描述】:

我想在导航栏下添加一个自定义视图,该视图具有与导航栏相同的半透明属性,因此当我向上滚动 tableview 时,它位于我的自定义视图和导航栏后面。

我尝试过修改导航栏的高度,但是这会将导航栏控件(后退按钮、标题)移动到导航栏的底部,我需要将它们放在默认位置(状态栏正下方),所以我可以在底部添加我自己的元素。

我也尝试过https://github.com/JagCesar/ios-blur,但是当我将它的背景颜色设置为我的 NavigationBar 所具有的颜色时,它只是颜色不同......看起来更白:/

有人做过这样的事吗?顺便说一句,我正在为 iOS7 构建应用程序

【问题讨论】:

【参考方案1】:

控件iOS-blur 有一个属性BlurTintColor 应该设置为与导航栏的BarTintColor 相同的值。

由于导航栏底部有这条阴影线,您可能希望将自定义模糊视图放在导航控制器的视图中:

JCRBlurView *blurView = [[JCRBlurView alloc] initWithFrame:CGRectMake(0,64,320,62)];
[blurView setBlurTintColor:[UIColor colorWithHexString:@"#005A9B"]];
[self.navigationController.view addSubview:blurView];

顺便说一句,我将pod 'HexColors' 用于colorWithHexString 方法

【讨论】:

以上是关于创建一个像 UINavigationBar 这样的半透明视图的主要内容,如果未能解决你的问题,请参考以下文章

UINavigationBar 标题内的 UISegmentedControl 看起来未格式化

将按钮添加到 UINavigationBar 的子类

隐藏 UINavigationBar 但仍显示状态栏

如何使自定义 UIView 与 UINavigationBar 结合使其看起来像一个

UINavigationBar 中的 UISearchBar 在旋转方向时改变宽度

你如何设置 UINavigationBar 的标题