iOS中的半透明导航栏模糊

阿古罗德里格斯

我正在尝试在我的Swift iOS应用程序中获得这种模糊半透明的导航栏效果(图像中的第一个导航栏):

半透明导航栏

但是我做不到。我尝试了几种方法,其中一些如下:

setBackgroundImage, shadowImage and translucent attrs in AppDelegate (Getting the NavController from the RootViewController attr)

AppDelegate主要方法中的那些行:

UINavigationBar.appearance().translucent = true;
UINavigationBar.appearance().barTintColor = UIColor(white: 1, alpha: 0.4)

从UIBuilder更改属性

在viewControllers中设置self.automaticallyAdjustsScrollViewInsets = trueself.edgesForExtendedLayout = UIRectEdge.None

但是仍然无法解决这个问题。我正在使用iOS 8.1和9.0在XCode模拟器上运行该应用程序

我做错了什么?

詹姆斯

第二个导航栏已经是半透明和模糊的,只是不如第一个导航栏半透明。如果打开Digital Color Meter,然后将鼠标悬停在屏幕截图上,则可以看到第二个导航栏的背景在覆盖图像的区域更暗。

此问题中解释了第一个导航栏比第二个导航栏更透明的原因:第一个导航栏的屏幕截图是从运行iOS 7.0.2的设备上获取的,而第二个导航栏的屏幕截图则是从设备上获取的运行iOS 7.0.4。苹果在这些版本的iOS之间以及在iOS 7.1中再次更改了UINavigationBar的行为。

苹果对当前的半透明机制进行了如下解释

半透明的条将其barTintColor与灰色混合,然后再将其与系统定义的alpha值组合在一起,以产生最终的背景色,该背景色用于将条与上层内容混合在一起。

对模糊效果的唯一描述似乎如下:

默认情况下,iOS 7中的导航栏是半透明的。此外,所有导航栏都存在系统模糊。

您可以通过使用UIImage.imageWithColor:具有适当的Alpha值的UIColor为条形制作背景图像来更改条形的透明度,但是这样做会消除模糊效果。没有记录的方法来更改“系统定义的Alpha值”以增加条形的半透明性而不消除“系统模糊”。

如果要在iOS 8.1和9.0上模仿旧的半透明和模糊效果,则需要制作自己的UINavigationBar子类,并插入一个或多个子视图,例如UIView,其背景色使用适当的alpha值(对于透明度)和/或UIVisualEffectView(用于模糊效果)。

您可能可以在此问题的答案之一中找到组合视图

相关:模糊效果在iOS 7.1上消失了

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在iOS 7的导航栏上获得模糊和半透明的效果?

来自分类Dev

在半透明的导航栏中查看?

来自分类Dev

导航栏iOS 7中的半透明和自定义图像

来自分类Dev

iOS双导航栏通过设置半透明关闭

来自分类Dev

iOS-内容上的半透明导航栏

来自分类Dev

如何在SwiftUI中制作半透明的导航栏?

来自分类Dev

UITableView位于半透明导航栏下

来自分类Dev

半透明/透明状态栏和导航栏

来自分类Dev

在透明导航栏到半透明之间过渡

来自分类Dev

透明/模糊导航栏的iOS 7视图控制器布局问题

来自分类Dev

类似于iOS的半透明模态,模糊了其背后的背景

来自分类Dev

透明导航栏Swift iOS

来自分类Dev

透明导航栏iOS 13

来自分类Dev

Xamarin iOS 透明导航栏

来自分类Dev

导航栏背景色-半透明为否

来自分类Dev

导航栏在地图上具有半透明的颜色

来自分类Dev

半透明导航栏(Android 4.4)-在下面显示内容

来自分类Dev

半透明导航栏,带有其他颜色的按钮

来自分类Dev

向后导航时,Android工具栏变为半透明

来自分类Dev

无法使UITableView出现在半透明导航栏下

来自分类Dev

使UISegmentedControl的颜色与半透明导航栏的颜色匹配

来自分类Dev

获取indexPathsForVisibleItems()(不包括半透明导航栏下的那些)

来自分类Dev

Bootstrap:轮播上的半透明导航栏覆盖页面CSS

来自分类Dev

如何在iOS 10中使导航栏透明

来自分类Dev

使导航栏对于iOS 8.1中的下图透明

来自分类Dev

在iOS中绘制半透明矩形

来自分类Dev

UIToolbar在iOS 7中不是半透明的

来自分类Dev

在iOS中绘制半透明矩形

来自分类Dev

ios7强制半透明标签栏