更改 UINavigationBar 的模糊效果
Change blurring effect of UINavigationBar
我需要实现一个带有自定义设计的UINavigationBar
,需要更改背面图像,需要更改所有颜色,需要更改高度。
我知道这一切都是可能的,但我还需要更改模糊效果。它需要更轻的模糊。有没有一种方法可以在不进入私有 API 的情况下执行此操作?
编辑:它应该是什么样子的图片(我知道状态栏是像素化的,忽略它):
UIVisualEffectView 将在 iOS 8+ 视图中添加半透明和模糊效果。
有 3 个模糊 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];
}
有关 UIVisualEffectView
的更多信息,请查看此 question on SO。
*************** 编辑 iOS 7 ************ ***
Nicklockwood's FXBlurView 为 iOS5
、iOS6
、iOS7
.
出场救援
我为您创建了一个 sample project,它在 iOS7 的导航栏上具有所需的动态模糊效果。请按照以下指南在您的项目中使用。
- 调查
AppDelegate.m
- 这里我给导航栏加上了背景图。您可以更新任何viewcontroller中的图像以实现导航栏上的动态模糊背景图像。
- 很少有 FXblurview 属性,例如
blurRadius
、iterations
、tintColor
;你必须 read here.
安装指南:- https://github.com/nicklockwood/FXBlurView?source=c#installation
FXBlurView-master
的完整源代码 可以 found here。
我需要实现一个带有自定义设计的UINavigationBar
,需要更改背面图像,需要更改所有颜色,需要更改高度。
我知道这一切都是可能的,但我还需要更改模糊效果。它需要更轻的模糊。有没有一种方法可以在不进入私有 API 的情况下执行此操作?
编辑:它应该是什么样子的图片(我知道状态栏是像素化的,忽略它):
UIVisualEffectView 将在 iOS 8+ 视图中添加半透明和模糊效果。
有 3 个模糊 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];
}
有关 UIVisualEffectView
的更多信息,请查看此 question on SO。
*************** 编辑 iOS 7 ************ ***
Nicklockwood's FXBlurView 为 iOS5
、iOS6
、iOS7
.
我为您创建了一个 sample project,它在 iOS7 的导航栏上具有所需的动态模糊效果。请按照以下指南在您的项目中使用。
- 调查
AppDelegate.m
- 这里我给导航栏加上了背景图。您可以更新任何viewcontroller中的图像以实现导航栏上的动态模糊背景图像。
- 很少有 FXblurview 属性,例如
blurRadius
、iterations
、tintColor
;你必须 read here.
安装指南:- https://github.com/nicklockwood/FXBlurView?source=c#installation
FXBlurView-master
的完整源代码 可以 found here。