Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 7.1上的模糊效果消失_Ios_Iphone_Objective C_Blur_Ios7.1 - Fatal编程技术网

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

由于某些原因,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.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
设置没有任何效果。我已将其从我的答案中删除。