ios - 在顶部 uiview 下方捕获 uiview 的图像

标签 ios objective-c ios7

有谁知道如何或是否可以捕获我当前 View 下方 View 的图像(猜测位图)?

假设您有一个 MKMapView (MyMapview) 320x460 的最顶层 View ,然后在 MyMapview 上方显示一个弹出窗口或另一个 uiview (2ndView)300x300。然后第三个 View (3rdView)320x320 出现在 MyMapview 和 2ndView 之上。

所以你最终得到了

第三 View 320x320 第二 View 300x300 我的 map View 320x460

现在我要做的是捕获 2ndView 和 MyMapview 上所有内容的图像,但仅限于 3rdView 的框架下。

我想做的是在不要求用户使用 iOS7 的情况下重新创建 iOS7 的外观。这意味着我希望下面的 View 能够显示出来,但要模糊。所以我想我会让 3rdView alpha 为 .7,但也包含一个 UIImageView 作为 3rdViews 最底层。然后我拍下 View 的快照,对其进行模糊处理,然后存储在我的 UIImageView 中。现在,我的 3rdViews 背景是下方 View 的快照,但模糊了。

或者有人有更基于语言的方式来做这件事吗?我无法在 photoshop 中创建此背景图像并对其进行模糊处理,然后将其导入,因为最底部的 View 是实时 mkmapview(这意味着我无法为芝加哥 map 拍摄快照,对其进行模糊处理并导入,因为 map 可能位于达拉斯或巴黎。

最佳答案

此方法会将 View 转换为图像:

UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

你可以做的是删除顶 View ,然后获取你想要的 View 的图像并再次添加顶 View ..希望它有效

关于ios - 在顶部 uiview 下方捕获 uiview 的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17178741/

相关文章:

ios - 这是更有效的做某事的方式,使用 NSSet 或 Core Data

objective-c - 预处理器指令可以用于为 Mac 和 iOS 导入不同的头文件吗?

ios - 如何动态准备选择器以与respondsToSelector匹配

uitableview - 删除按钮仅显示在单元格下方的中间

iOS 获取今天的日期和月份作为 int

ios - 长按手势后 Mapbox 在 map 上找到注释

ios - 滚动后重置 UICollectionViewCell 中的 Scrollview

php - 使用 PHP 通过 SSL 从 Linux 为 iOS 应用程序推送通知

ios - 登录 View 后的 SWRevealViewController

ios - 如何获得与 iPhone 上的联系人应用程序相同的部分索引标题