Howe 捕获 UIView 顶部 UIView

2024-01-06

i have UIView显示图表..现在我需要将其捕获到UIImage我用谷歌搜索并得到了下面的代码。但是如果我在我的代码中使用它,它就不起作用。即使我使用断点编译器也无法达到这个目的。我在我的代码中使用它UIView.我哪里出错了?

+ (UIImage *) imageWithView:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return img;
} 

您可以使用以下方法截取 iPhone 应用程序的任何视图或整个屏幕的屏幕截图

- (UIImage *)captureView {

//hide controls if needed
CGRect rect = [self.view bounds];

    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    [self.view.layer renderInContext:context];   
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return img;

}

并像下面这样称呼它......

UIImage *tempImageSave=[self captureView];

您还可以使用以下行将此图像保存为相册。

UIImageWriteToSavedPhotosAlbum(tempImageSave,nil,nil,nil);

您还可以使用以下行将此图像保存为文档目录。

NSData *imageData = UIImagePNGRepresentation(tempImageSave);
NSFileManager *fileMan = [NSFileManager defaultManager];

NSString *fileName = [NSString stringWithFormat:@"%d.png",1];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
[fileMan createFileAtPath:pdfFileName contents:imageData attributes:nil];

如果视图包含图层图像或一些图形相关数据,则使用以下方法。

-(UIImage *)convertViewToImage:(UIView *)viewTemp
{
    UIGraphicsBeginImageContext(viewTemp.bounds.size);
    [viewTemp drawViewHierarchyInRect:viewTemp.bounds afterScreenUpdates:YES];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image;

}

并使用如下所示的方法。

UIImage *tempImageSave = [self convertViewToImage:yourView];

我希望这对你有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Howe 捕获 UIView 顶部 UIView 的相关文章

  • iOS FacebookSDK + 解析 SDK + GoogleMaps SDK

    我搜索了很多 然后我意识到 ObjC标记那个GoogleMapSDK需要 但不能很好地配合ParseSDK and FacebookSDK 所以我阅读了所有的 stackoverflow 答案并尝试解决我的问题 问题还没有解决 我执行的步骤
  • 如何从标签栏控制器上方显示 UIActionSheet 视图?

    我需要在选项卡栏控制器上方显示操作表 我的意思是 即使操作表视图处于可见模式 我也能够看到选项卡栏控制器 因此 请建议如何从选项卡栏控制器上方查看 是否可以 其次 如何更改操作表的背景颜色和取消按钮背景颜色 请帮我 谢谢你 马丹 莫汉 要从
  • NSString 对象的最大长度是多少?

    NSString 对象中可以保存的最大字符串大小是多少 这会动态变化吗 我假设 NSString 的硬限制是 NSUIntegerMax 个字符 因为 NSString 的索引和大小相关的方法返回 NSUInteger 由于当前能够运行 i
  • OpenGL-ES、iPhone 和间歇性错误:GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES (0x8CD6)

    我有一个在 UIView 中使用 OpenGL ES 和 EAGLContext 的应用程序 非常类似于 Apple 的 GLPaint 示例代码应用程序 我在 iPhone 4 上看到这个错误 但在 iPad 上却没有 这可能很重要 大多
  • 如何在导航栏上添加 UIView?

    我需要覆盖UINavigationBar with UIView像这儿 除了使用带有按钮返回的自定义 UIView 作为导航栏之外 还有其他方法可以做到这一点吗 您可以将子视图添加到应用程序的基本视图 UIApplication share
  • 与 parse-server 和 auth0 的自定义身份验证集成

    我想将 auth0 com 与开源解析服务器结合使用 我当前的方法是通过 iOS 的 Lock 库使用标准登录从 auth0 获取令牌 使用该令牌 我想在解析服务器上调用自定义身份验证方法 该方法检查令牌是否有效 如果有效则将登录用户 我的
  • 在 Xcode 中查找未使用的文件

    我最近开始开发一个新应用程序 它基本上是我以前制作的应用程序的副本 但做了一些更改 为了制作这个新应用程序 我复制了旧应用程序并删除了一些不需要的内容 我想知道 有没有办法知道 Xcode 中正在使用哪些类文件 或者有什么关于如何查找未使用
  • 加速度计适用于 iphone/ipad 模拟器吗?

    据我所知 当我在 XCode 中使用 iPad 模拟器时 我的应用程序应该会触发加速计事件 但事实并非如此 我用谷歌搜索了一下 似乎加速度计没有在模拟器中实现 这是正确的吗 如果是这样 为什么他们会有 硬件 gt 摇动手势 菜单选项 我的代
  • 从字典创建 Swift 对象

    如何根据 Swift 字典中的查找值动态实例化类型 希望这对其他人有用 我们需要进行一些研究才能弄清楚这一点 目标是避免巨大的 if 或 switch 语句从值创建每个对象类型的反模式 class NamedItem CustomStrin
  • Grand Central Dispatch (GCD) 调度源标志

    我最近不再使用 to GCD 调度来源 https developer apple com documentation dispatch 1385630 dispatch source create监视文件更改 效果很好 API 也变得更加
  • 为什么 Apple 建议以编程方式创建模态导航控制器?

    以模态方式呈现导航控制器时 以编程方式创建和配置导航控制器对象通常更简单 虽然您也可以使用 Interface Builder 来执行此操作 但通常不建议这样做 事实上 因为我的导航控制器很简单 我宁愿在IB中自定义视图 虽然我不知道确切的
  • SDK 和 iOS 部署目标。

    我使用最新的 SDK 4 1 构建项目并设置 iOS 部署目标 3 0 如果我使用4 0 sdk的某些方法 我可以在真正的iPhone 3 0上运行我的项目吗 您只能在 OS 3 设备上运行您的项目 如果有条件地编码围绕您想要使用的 OS
  • “无法取消归档名为 UITableViewController 的元素”

    我一直在按照 构建你的第二个 iOS 应用程序 教程一步步进行 在教程承诺所有错误都会消失之后 我遇到了这个错误 但直到其他错误都出现后 该错误才出现 全部更正 我尝试编译它 错误 The document MainStoryboard i
  • iPhone Dev:从子控制器和 TabBar 中的另一个控制器重新加载表视图的数据

    我正在实现一个笔记管理器应用程序 它在 tabBar 中有一个 tableView 其中显示其笔记的主要信息 访问一个注释时 您可以编辑其属性 在 tabBar 的一个按钮中 您可以选择注释在 tableView 中的显示方式 我遇到的问题
  • iOS 有 INTERNET 权限吗?

    我在 iOS 设备上的 flutter dio 包上遇到了一个奇怪的问题 我编写了一个向 url 发送 GET 请求的应用程序 Android 上一切正常 但 iOS 上的请求似乎无法通过 没有发生任何错误 什么也没有 我在 Android
  • 如何在 iPhone 中使用 XMPPFramework 创建 MultiUserChatRoom

    我正在 iPhone 中使用 XMPPFramwwork 开发聊天应用程序 我成功完成了一对一聊天 现在我想在我的应用程序中开发多用户聊天 我尝试了以下代码 但未调用 XMPPRoomDelegate 的任何委托方法 我如何开始创建聊天室
  • 增加 iPhone 的推送通知徽章

    是否可以在收到通知时增加徽章值 或者我应该将计数作为有效负载发送吗 如果我每次都将徽章值发送为 1 那么如果应用程序未打开 我如何增加应用程序图标中的徽章值 我已经使用了这段代码 但不起作用 void application UIAppli
  • 将 NSFetchedResultsController 添加到项目后出现问题

    我设置 CoreData 时没有NSFetchedResultsController一切都保存得很好 切换到之后NSFetchedResultsController 我在尝试保存图像时遇到奇怪的错误 这是我用来保存图像的代码 void sa
  • 如何检测 UITableView 中某个单元格的双击?

    如何检测某个单元格上的双击UITableView i e 如果用户进行了一次触摸 我想执行一个操作 如果用户进行了两次触摸 我想执行另一个操作 我还需要知道进行触摸的索引路径 我怎样才能实现这个目标 Thanks 如果您不想创建子类UITa
  • 如何安全地重命名 iOS 分发配置文件?

    我几个小时前刚刚提交了我的第一个应用程序 现在处于 等待审核 状态 但我犯了一个错误 我已经命名了我的分配配置文件My Company Distribution Profile 我应该做的事情被命名为我的发行版配置文件My GAME Dis

随机推荐

  • 从以编程方式创建的 tableViewCell 中删除图像

    我想移动单元格上包含的 imageView 并且它可以工作 但在新位置创建新图像并保留旧图像 然后显示两个 我怎样才能删除旧的 使用的代码 UIImage cellImage UIImage imageNamed showIconName
  • SDL 窗口似乎被操作系统错误地标记为“无响应”

    我有一个通过 Derelict 3 访问的 SDL2 窗口 它应该是黑白频闪 不是因为我讨厌癫痫病患者 而且它成功地做到了这一点 然而 在一段时间后 Ubuntu 13 10 将窗口标记为 无响应 将其变灰 并使频闪效果变暗 这非常令人恼火
  • 使用 ui-grid 常量禁用滚动条

    使用最新版本的 ui grid v3 0 0 rc 16 可以单独关闭水平和垂直滚动条 我通过交换得到了这个工作 scope gridOptions enableScrollbars false with scope gridOptions
  • 如何从 Redis 获取值并将其放入 NGiNX 中的变量中?

    这是我的配置 location session set redis key cookie session redis pass 000 00 000 000 6379 echo cookie session echo echo redis
  • string.Format 如何处理空值?

    在下面的代码中 为什么这两个string Format调用的行为方式不一样吗 在第一个中 没有抛出异常 但在第二个中ArgumentNullException被抛出 static void Main string args Exceptio
  • onClick 输入类型=“image”

    我一直在转来转去 试图找到一个明确的答案 基本上 我想将 Google Analytics 事件跟踪添加到表单提交中 我希望为其添加 onClick 但我很难确定是否所有浏览器都支持它 我问设计表单的人 她说他们不使用按钮类型的原因是导致在
  • Backtrader 错误:“DataFrame”对象没有属性“setenvironment”

    我是反向交易者的新手 我有一个大问题 我想开始我的策略 只是一个简单的 GoldenCross 策略 这个 GoldenCross py 脚本如下所示 import math import backtrader as bt class Go
  • dijit 过滤选择最小长度

    我似乎找不到一种方法来要求过滤选择输入具有一定的长度 我尝试过这样的 new dijit form FilteringSelect name bla store jsonRestStore searchAttr name pattern 3
  • 有人在 vuetify 和 Laravel 7 上取得过成功吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在尝试在使用 laravel 7 构建的多个项目中安装 vuetify 我成功地让它工作了一次 但每一次连续的尝试都会破坏 vu
  • 使用 msal.js 对 Angular Spa 进行身份验证

    我的角度应用程序有 1000 条独特的路线 用户应该能够从任何这些页面单击登录按钮 已经基于此示例实现了 msal js https github com Gimly simpleAngularAzureB2C blob master sr
  • 如何避免 Google Ads 拖慢我的网站(尤其是移动网站)速度?

    我知道很多网站管理员认为页面速度毫无意义 然而 我相信这个因素是谷歌决定对任何网站进行排名的前三名因素之一 我厌倦了看到谷歌自己的服务如何减慢我的网页速度 我编写干净的代码 当我启动任何网站 应用程序时 它在 GTMetrix 和 Ping
  • 如何在 docker 镜像中包含修改后的配置文件?

    我是 Docker 新手 一位 Devop 同事在 github 存储库中创建了一个 WSO2 docker 镜像 他使用此类图像来创建暂存和生产实例 The docker compose yml is openssl req newkey
  • 使用 Twisted 和 inlineCallbacks 进行测试

    这是我的函数定义 defer inlineCallbacks def get order order id do some db operations defer returnValue order details 我想做的是使用 Twis
  • 当导入 Angular 13 项目时,Angular 13 包/库抛出错误“moment is not a function”

    我正在升级私有角度库 包 my lib 以便我可以迁移所有其他项目 但是当导入到项目中时 其中一项服务使用 moment 并抛出错误 错误类型错误 时刻不是函数 该库在开发模式下工作 构建和发布都正常 即使导入到项目中 所有组件和资源都加载
  • 我需要做什么才能解决“使用移动值”错误?

    我正在尝试计算 Rust 中的第 10 001 个素数 Project Euler 7 作为其中的一部分 我检查整数是否是素数的方法引用了向量 fn main let mut count u32 1 let mut num u64 1 le
  • Git pull - 致命:读取错误:参数无效

    我尝试使用 msysgit 1 8 1 进行拉取 也尝试使用 1 7 10 和 11 结果相同 但总是收到一个我不知道如何调试 解决的错误 E java myproject gt git pull Enter passphrase for
  • url 中的分号作为查询字符串的分隔符

    我一直听说 W3C 建议使用 而不是 作为查询字符串分隔符 我们建议 HTTP 服务器实现者 特别是 CGI 实现者支持使用 代替 来保存作者 以这种方式转义 字符的麻烦 有人可以解释一下为什么 吗 推荐代替 另外 我尝试使用 代替 例子
  • 如何修复 Python 中的双重编码和损坏的字符串?

    我的流程正在处理已被破坏的数据 我可以看出它已经用 UTF 8 进行了双重编码 但这只是故事的一半 双倍的 decoding仅适用于单字节 拉丁语 且完好无损地通过 UTF 8 的代码点 双字节 或更大 的代码点不能使用以下命令进行双重解码
  • 如何在 Mavericks 中打开 NSSheet?

    在 Mavericks 中 打开和关闭 NSSheets 的方法已更改 为了让事情变得更加艰难 发行说明 https developer apple com library mac releasenotes AppKit RN AppKit
  • Howe 捕获 UIView 顶部 UIView

    i have UIView显示图表 现在我需要将其捕获到UIImage我用谷歌搜索并得到了下面的代码 但是如果我在我的代码中使用它 它就不起作用 即使我使用断点编译器也无法达到这个目的 我在我的代码中使用它UIView 我哪里出错了 UII