OStack程序员社区-中国程序员成长平台

标题: ios - 在顶部 uiview 下捕获 uiview 的图像 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 11:50
标题: ios - 在顶部 uiview 下捕获 uiview 的图像

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

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

所以你最终得到了

第三 View 320x320 第二 View 300x300 MyMapview 320x460

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

我想要做的是重新创建 iOS7 的外观,而不需要用户使用 iOS7。这意味着我希望下面的 View 显示出来,但要模糊。所以我想我会在 0.7 处制作 3rdView alpha,但也包含一个 UIImageView 作为 3rdViews 最底层。然后我拍摄下面的 View 快照,将其模糊,并存储在我的 UIImageView 中。现在我的 3rdViews 背景是下面 View 的快照,但模糊了。

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



Best Answer-推荐答案


此方法会将 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4