改变UINavigationBar的模糊效果

vrw*_*wim 5 blur uinavigationbar ios xamarin

我需要实现一个UINavigationBar自定义设计,需要更改背面图像,需要更改所有颜色,并且需要更改高度.

我知道一切皆有可能,但我还需要改变模糊效果.它需要更轻松的模糊.有没有办法在不进入私有API的情况下这样做?

编辑:它应该是什么样子的图片(我知道状态栏是像素化的,忽略它):

在此输入图像描述

pkc*_*456 1

UIVisualEffectView将在 iOS 8+ 视图上添加半透明和模糊效果。

共有三种模糊UIBlurEffectStyles可用。

- (void)addBlurEffect{

    CGRect bounds = self.navigationController.navigationBar.bounds;
    UIVisualEffectView *visualEffectView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]];
    visualEffectView.frame = bounds;
    visualEffectView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    [self.navigationController.navigationBar addSubview:visualEffectView];
    self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];
    [self.navigationController.navigationBar sendSubviewToBack:visualEffectView];
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息UIVisualEffectView,请检查SO 上的此问题

************** iOS 7 编辑**************

NicklockwoodFXBlurView出现在图片中以拯救iOS5, iOS6iOS7

我为您创建了一个示例项目,它在 iOS7 的导航栏上具有所需的动态模糊效果。请按照以下指南将其用于您的项目。

  1. 调查AppDelegate.m
  2. 这里我将背景图片添加到导航栏。您可以在任何视图控制器中更新图像以实现导航栏上的动态模糊背景图像。
  3. FXblurview 属性很少,例如blurRadius, iterations, tintColor; 您必须在这里阅读

安装指南:- https://github.com/nicklockwood/FXBlurView?source=c#installation

完整的源代码可以FXBlurView-master这里找到