有人可以给出一个将模糊应用于图像的小例子吗?我一直试图找出代码一段时间了:(仍然是obj c的新东西!
它
UIVisualEffectView提供了对复杂视觉效果的简单抽象.根据所需的效果,结果可能会影响视图后面的内容或添加到视图的contentView的内容.应用
UIVisualEffectView现有视图以将模糊或活力效果应用于退出视图.将UIVisualEffectView添加到视图层次结构后,将任何子视图添加到的contentViewUIVisualEffectView.不要将子视图直接添加到UIVisualEffectView自身.
似乎有几个不同的选项/术语,iOS社区中的人在布局方面使用(例如,UIEdgeInsets是一种类型,但有时我会听到/读取"设置插图"或布局边距与布局指南).
我总能找到一个有效的选项.但我不确定我是否正在使用合适的工具.
有人可以帮助在布局的这些不同方面之间提供一些清晰度,以及何时以最佳方式使用每个方面?
我想让我的导航栏有一点颜色,但不要完全透明。这是我拥有的代码及其结果:
UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
UINavigationBar.appearance().shadowImage = UIImage()
UINavigationBar.appearance().translucent = true
UINavigationBar.appearance().barTintColor = UIColor(red: 0, green: 107/255, blue: 178/255, alpha: 0.5)
Run Code Online (Sandbox Code Playgroud)

但是,如果我将“半透明”设置为 false,即使用以下代码:
UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
UINavigationBar.appearance().shadowImage = UIImage()
UINavigationBar.appearance().translucent = false
UINavigationBar.appearance().barTintColor = UIColor(red: 0, green: 107/255, blue: 178/255, alpha: 0.5)
Run Code Online (Sandbox Code Playgroud)
我得到这个结果:

如何使条形图的 alpha 值为 0.5 或“部分半透明”?
谢谢,任何帮助将不胜感激。
如何使导航栏和状态栏模糊(UIBlurEffect)?当我点击图像向下滚动(滚动视图)到其他图片时,这张图片(在这种情况下是白色机器)在导航栏下丢失了,这个图形必须在具有效果UIBlurEffect的导航栏.
我试过了,但没有奏效:
func addBlurEffect() {
// Add blur view
let bounds = self.navigationController?.navigationBar.bounds as CGRect!
let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .light))
visualEffectView.frame = bounds!
visualEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.navigationController?.navigationBar.addSubview(visualEffectView)
self.navigationController?.navigationBar.sendSubview(toBack: visualEffectView)
visualEffectView.isUserInteractionEnabled = false }
Run Code Online (Sandbox Code Playgroud)
首先,当滚动图片时,导航栏下方会消失.
其次,状态栏仍然是灰色的.
NavigationBar的UIBlurEffect错误,StatusBar没有UIBlurEffect
为了状态栏不保持灰色,我试着这样做,但无济于事=(
bounds.offsetBy(dx: 0.0, dy: -20.0)
bounds.size.height = bounds.height + 20.0
Run Code Online (Sandbox Code Playgroud)
同样在didFinishLaunchingWithOptions中的AppDelegate(他用Objective-C编写的应用程序)中,我尝试添加它,所有内容保持不变,没有任何更改:
[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc]init] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc]init]];
[[UINavigationBar appearance] setBackgroundColor:[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f]];
[[UINavigationBar appearance] setTranslucent:YES];
Run Code Online (Sandbox Code Playgroud)
请帮忙解决问题,我搞乱了3天.
对不起,我的英语不好.
ios ×4
autolayout ×1
layout ×1
objective-c ×1
swift ×1
swift3 ×1
uiblureffect ×1
uikit ×1
uiview ×1
view ×1
xcode ×1