我想淡入带有UIBlurEffect的UIVisualEffectsView:
var blurEffectView = UIVisualEffectView()
blurEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .dark))
Run Code Online (Sandbox Code Playgroud)
我在a调用的函数中使用普通动画UIButton
来淡入它,同样用于淡出,但是.alpha = 0
&hidden = true
:
blurEffectView.hidden = false
UIView.animate(withDuration: 1, delay: 0, options: .curveEaseOut) {
self.blurEffectView.alpha = 1
}
Run Code Online (Sandbox Code Playgroud)
现在,在两个方向上褪色的工作,但衰落时,它给我一个错误了:
<UIVisualEffectView 0x7fdf5bcb6e80>
被要求动画其不透明度.这将导致效果出现断裂,直到不透明度返回到1.
题
如何成功地淡入淡出UIVisualEffectView
而不会破坏它并且有一个渐弱的过渡?
注意
UIVisualEffectView
变成一个UIView
并且淡化那个,没有成功如何在Interface Builder中使用Blur和Vibrancy的视觉效果视图?
我把这个项目拖到视图中,然后拖动UILabel
到层次结构中的最后一个视图 - contentView
我假设的充满活力的效果.这会导致视图模糊不清,但没有可见的标签.在其他任何地方我将标签放在层次结构中它确实变得可见,但它只是纯黑色文本.
interface-builder ios uiblureffect uivibrancyeffect uivisualeffectview
我有一个原型单元,我把UIVisualEffectView
它放在里面ContentView
.视觉效果视图的模糊风格很暗,而且Vibrancy关闭.然后我使用IB将视觉效果视图的alpha设置为0.5.
然后在运行时,我收到一条警告:
<UIVisualEffectView ...> is being asked to animate its opacity. This will cause the effect to appear broken until opacity returns to 1.
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么会出现此警告以及如何正确设置此alpha属性.
标题几乎要求一切......
我正在玩iOS8 Visual Effect View with Blur
.它UIImageView
显示了用户可选择的背景照片.放置在contentView本身的视图是我自己的自定义视图,显示了一种图形/日历.大多数所述日历图是透明的.适用于背后照片的模糊非常沉重.我想让更多细节泄漏.但苹果似乎只给出了三个罐头价值:
typedef enum {
UIBlurEffectStyleExtraLight,
UIBlurEffectStyleLight,
UIBlurEffectStyleDark
} UIBlurEffectStyle;
Run Code Online (Sandbox Code Playgroud)
我已经用不同的alphas和背景颜色逛了一圈UIVisualEffectView
(尽管文档警告说),但这并没有做任何事情,只会让事情变得更糟.
我已经更新到OSX Yosemite并且看到Xcode的一个新"功能"是项目导航器窗口的模糊/透明效果.下面是我的壁纸模糊的例子.我发现这真的很难看并分散注意力.
有没有办法禁用这种模糊效果,并得到一个平坦/不透明的Xcode 6窗口?
我的应用程序UIVisualEffectView
用于模糊背景,就像控制中心一样.但我发现可以运行iOS 8的iPad 2(和Retina iPad)功能不足以显示该效果,因此它恢复为灰色.我希望能够检测到应用程序运行的设备是否足够强大以显示模糊效果,如果不是,我将不会应用它,而是我会将背景颜色更改为看起来比那灰色的颜色.但我不想只是检查设备是iPad 2还是iPad第3代(它是否也会影响第4代?).有没有更好的方法来检测是否UIBlurEffect
会出现预期?
在我的应用程序中,我想在uiview上应用模糊效果.所以我怎样才能实现模糊效果.我试过下面的代码:
UIGraphicsBeginImageContext(scrollview.bounds.size);
[scrollview.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//Blur the UIImage with a CIFilter
CIImage *imageToBlur = [CIImage imageWithCGImage:viewImage.CGImage];
CIFilter *gaussianBlurFilter = [CIFilter filterWithName: @"CIGaussianBlur"];
[gaussianBlurFilter setValue:imageToBlur forKey: @"inputImage"];
[gaussianBlurFilter setValue:[NSNumber numberWithFloat:3] forKey: @"inputRadius"];
CIImage *resultImage = [gaussianBlurFilter valueForKey: @"outputImage"];
UIImage *endImage = [[UIImage alloc] initWithCIImage:resultImage];
//Place the UIImage in a UIImageView
UIImageView *newView = [[UIImageView alloc] initWithFrame:scrollview.bounds];
newView.image = endImage;
[scrollview addSubview:newView];
Run Code Online (Sandbox Code Playgroud)
但是使用此代码时遇到问题.当应用模糊效果时,时间视图变小.
我正在以模糊背景效果模式呈现视图控制器.iOS 10/XCode 8引入了我的动画问题.这是演示代码:
let modalVC = ModalViewController(nibName: "ModalViewController", bundle: nil)
modalVC.modalTransitionStyle = .CrossDissolve
modalVC.modalPresentationStyle = .OverFullScreen
presentViewController(modalVC, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
viewDidLoad()
在ModalViewController中添加函数模糊:
let blurEffect = UIBlurEffect(style: .Light)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = view.bounds
blurEffectView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
view.addSubview(blurEffectView)
view.sendSubviewToBack(blurEffectView)
Run Code Online (Sandbox Code Playgroud)
该ModalViewController
有一个明确的背景下,我加入了BlurEffectView
一个黑暗的模糊效果.以编程方式使用上一个代码段和Interface Builder进行尝试.
在iOS 8和9上,.CrossDissolve
转换处理了"淡入淡出",但在iOS 10(设备和模拟器)上进行测试后,视图显示为黑色半透明背景颜色而不是模糊.
在之后.CrossDissolve
动画完成,背景颜色变为实际的模糊效果的背景.任何想法为什么会这样?
还尝试layoutIfNeeded()
在viewDidLoad()
模态视图控制器的开头和结尾添加没有任何运气.我正在使用swift 2.3
我正在使用此代码在我的视图中创建模糊效果:
let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light))
blur.frame = CGRectMake(180, 10, 200, 750)
myView.addSubview(blur)
Run Code Online (Sandbox Code Playgroud)
有没有办法调整产生模糊的高斯函数,以达到不同程度的"失焦"效果?
我试图在Unity3D中为我的游戏的UI窗口背景重现(现在常见的)模糊效果.
我现在能想到的最好的例子之一是风暴英雄,请注意Level Up面板的背景如何模糊背后的内容:
有没有办法用Unity3D中最近添加的Canvas重现相同的效果?我知道有一种方法可以通过使用相机来实现,但我并不熟悉整个过程,尤其是在使用新的UI系统时.
谢谢.
uiblureffect ×10
ios ×6
ios8 ×3
swift ×3
iphone ×2
objective-c ×2
blur ×1
blurry ×1
c# ×1
fade ×1
gaussian ×1
osx-yosemite ×1
uiview ×1
xcode6 ×1
xcode8 ×1