iOS 7.1上的模糊效果消失
由于某些原因,iOS 7.1上我的应用程序中的模糊效果消失了。我在iOS 7.0.x设备和7.1设备上运行相同的代码。我看到的是: iOS 7.0.x iOS 7.1 问题可能是什么?如何解决?(显然我想保留模糊效果:)) 更新: 这是我设置的颜色:iOS 7.1上的模糊效果消失,ios,iphone,objective-c,blur,ios7.1,Ios,Iphone,Objective C,Blur,Ios7.1,由于某些原因,iOS 7.1上我的应用程序中的模糊效果消失了。我在iOS 7.0.x设备和7.1设备上运行相同的代码。我看到的是: iOS 7.0.x iOS 7.1 问题可能是什么?如何解决?(显然我想保留模糊效果:)) 更新: 这是我设置的颜色: [UIColor colorWithRed:255.0f/255.0f green:201.0f/255.0f blue:0.0f/255.0
[UIColor colorWithRed:255.0f/255.0f
green:201.0f/255.0f
blue:0.0f/255.0f
alpha:1.0];
我从
BartinColor
属性设置它第二个屏幕截图可能是从iPhone4上截取的?
在iPhone 4和iPad 2上,模糊效果被简单的透明样品颜色所取代。
设置>常规>增加对比度>降低透明度
可能在7.1设备上启用。一目了然
自iOS7.1以来,导航栏似乎再也没有模糊效果了。至少我运行了很多测试,通过做新的应用程序示例,它不再有了
解决方法(在iOS 7.1上工作)
使用
这不是什么了不起的东西,但它工作得很好,而且可以定制。我的例子当然不是最好的
先前提出的解决方案(不适用于iOS7.1)
下面是我找到类似效果的解决方案。它可以发布,不使用私有API。但它可能会在下一次iOS更新时出现问题,因为它依赖于UINavigationBar
的内部结构
只需在您的viewDidLoad
中或您想要的任何位置执行此操作,因为它可以工作:
// First we make the background's navigation bar totally translucent
self.navigationController.navigationBar.barTintColor = [UIColor clearColor];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:[UIColor clearColor]] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
// Then we create UIToolBar, which are still using blur effect
UIToolbar *tab = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 64)];
// We add it the barTintColor we want, works the same as since iOS 7.0.3, don't forget alpha value
tab.barTintColor = [UIColor colorWithRed:0 green:1 blue:0 alpha:0.2];
// And finally we add it to the background view of UINavigationBar... but it can change with future release of iOS. Be aware !
[[self.navigationController.navigationBar.subviews firstObject] addSubview:tab];
我还建议您使用AutoLayout来约束UIToolBar
始终为其父对象的大小,以便进行旋转等操作。。。我这样做不是为了让代码简短
希望对你们有帮助 顺便说一句,值得注意的是,您描述为没有模糊/半透明的图像实际上是这样的。如果你拍下那张快照并增强对比度,你可以看到背景中确实发生了一些事情。这是您的原始“无模糊/半透明图像”,我在Photoshop中增强了对比度:
除非你操作图像,否则肉眼几乎看不到它,但模糊/半透明实际上存在。可能的副本,也许你可以显示与你运行的代码相同的代码?@AncAinu用代码编辑文章used@jervine10那篇文章并没有真正的答案。这是有原因的。我的问题是如何在7点恢复模糊效果。1@SergeyCatraniuc你试过我的解决方案吗?苹果在iOS 7.1中对模糊效果做了修改。将iphone5c升级到ios7.1。好吧,这并不能真正解决我的问题。我想让blur在7.1上运行,将
alpha<1
设置为颜色。不要尝试,等一下。嘿,Anc,谢谢你的提示,我必须稍后再试。但这对我来说有点太老套了。即使它真的有用,我也不会最终使用它(不值得)。但如果成功的话,我会接受你的回答;)我想除了我的(或者更棘手的)不可能,你不会有任何其他选择,我在写这篇文章之前已经试过了。你可以尝试在一个新的项目(简单视图一),你会看到它的工作。然后你会发现你的应用程序有什么不同。你在7.1上试过吗?我的错误,我最终混淆了设备。我同意。我想他们只是缩小了半透明的模糊程度。我认为这是正确的是的,我注意到它不是完全实心的。我也尝试过你的解决方案,但它在我安装了7.1的5s上不起作用。实际上,更改alpha根本没有任何区别:(你用什么设备和iOS版本拍摄这些屏幕截图?我的错。在7.1设备上,alpha
设置没有任何效果。我已将其从我的答案中删除。