设为首页 加入收藏

TOP

iOS 7中实现模糊效果(六)
2017-10-11 15:27:37 】 浏览:6692
Tags:iOS 实现 模糊 效果
iew];

编译并运行程序,打开录制操作,看看情况如何:

好消息是看起来基本正常!坏消息是整个屏幕被缩放到录制按钮中去了。这个问题跟之前遇到的类似。我们需要给BlurView这是适当的contentRect

打开BlurView.m,用下面的代码替换掉initWithFrame:方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
- ( id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
CGRect deviceSize = [UIScreen mainScreen].bounds;
self.layer.contentsRect = CGRectMake(frame.origin.x/deviceSize.size.height,
frame .origin.y/deviceSize.size.width,
frame .size.width/deviceSize.size.height,
frame .size.height/deviceSize.size.width);
self.fillMode = kGPUImageFillModeStretch;
}
return self;
}

contentRect的每个参数必须在0.0f1.0f之间。在这里只需要利用view的位置除以屏幕的size,得到的值即可。

编译并运行程序,看看效果如何:

恭喜!至此已经完成了静态模糊和实时视频模糊的实现。现在你已经完全可以在程序中添加iOS 7的模糊效果啦!

何去何从?

可以在这里下载到完整的工程。

本文不仅指导你在程序中使用iOS 7的模糊效果,还介绍了如何使用GPUImage框架,这个框架也是我非常希望你能看到的东西。重要的是,本文指出了为什么要使用模糊,什么时候使用模糊效果是合适的,这在iOS 7的新设计语言中是一个关键的概念。当然也希望在未来的版本中,苹果能够将相关APIs提供给开发者使用,不过在那之前,GPUImage是一个不错的替代品。

首页 上一页 3 4 5 6 下一页 尾页 6/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇iOS 7中实现模糊效果 下一篇iOS 7中实现模糊效果

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目