drawViewHierarchyInRect:afterScreenUpdates 和 renderInContext: 不起作用...其他解决方案?

2023-12-31

我需要捕获 UIScrollView 内的大 UIView 的一部分。

我正在使用 CALayer 的方法renderInContext:2年多以来。 即使该方法在 99% 的情况下无法渲染特殊对象(如 MapView),它仍然完美且足够快,足以满足我的需求。

但在 iOS7 中,许多组件的渲染完全是错误的(并且在 iOS 7.1 的最新版本中变得更糟)。 所以我想使用似乎更专注于此的新方法,例如 UIView 的drawViewHierarchyInRect:afterScreenUpdates.

不幸的是,我无法使其在真实设备上工作,它呈现黑色图像(空内容)。 它只在模拟器上(无论是否有视网膜)和 - 我认为 - 在非视网膜真实设备上(我已经在第一代 iPad mini 上进行了测试)工作得像一个魅力...... 总结:

  • iPad 模拟器工作
  • iPad 视网膜模拟器工作
  • iPad mini(第一代)工作正常
  • iPad 3 和 4 代无法正常工作
  • iPad Air 无法使用

在这里您可以找到一个显示该问题的简单 Xcode 项目。 https://github.com/jfradj/ScreenshotIssue

在模拟器上运行它,然后在真实(视网膜)设备上运行它以查看差异和问题。

我在这篇文章的末尾附上了两个屏幕截图来显示这一点。左图显示了结果renderInContext:方法,正确的显示drawViewHierarchyInRect:afterScreenUpdates方法结果。

我已经为此挠头太久了! 我什至通过 Apple DTS 寻求帮助,但被拒绝了,说这听起来像是 Apple 的错误,并且我应该填写错误报告(我已经做了很长时间的事情)。

如果您有任何想法、评论等...我将非常感激。

Thanks


None

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

drawViewHierarchyInRect:afterScreenUpdates 和 renderInContext: 不起作用...其他解决方案? 的相关文章

  • 访问 google reader 的 Endpoints API 时出错

    我正在尝试在iPhone APP中实现google reader 到目前为止我已经成功收到了sid and auth 当我尝试使用以下命令调用 Endpoints API 时 问题就出现了GET 这是代码 ASIHTTPRequest re
  • TTTAttributedLabel 可点击截断标记

    我有一个 TTTAttributedLabel 并为其指定了一个自定义属性截断标记 NSAttributedString atributedTruncationToken NSAttributedString alloc initWithS
  • 在 Swift 中以编程方式为 iOS 制作带有名字首字母的图像,例如 Gmail

    我需要在 UITableView 中显示与其姓名相对应的每个用户的个人资料图片 在下载图像之前 我需要显示一张带有他名字的第一个字母的图像 就像在 GMail 应用程序中一样 如何在 Swift for iOS 中以编程方式执行此操作 不需
  • UILabel UILongPressGestureRecognizer 不起作用?

    我怎样才能得到UILongPressGestureRecognizer在 uilabel 当我实现以下代码时 它不会调用该函数 那么请告诉我我做错了什么 UILongPressGestureRecognizer longPress UILo
  • 领域:结果 和列表

    是否可以转换Results
  • 下载进度条在 iOS 企业发行版中没有改变进度

    我正在通过企业分发开发和分发 iPad 应用程序 它们下载并执行良好 因此一切正常 Web 链接 ipa 文件 plist 文件 配置 问题 是 当用户单击链接进行下载时 iPad 中显示下载进度的进度条显示 正在等待 但却是空的并且永远不
  • 如何在 Firebase Analytics 事件中报告参数

    我用过Fabric with iOS在此之前 在同一分析事件中报告自定义参数非常容易 如下所示 Answers logCustomEvent withName saved border customAttributes image inde
  • Socket.io 400(错误请求)

    我的服务器上有这段代码 var express require express var routes require routes var user require routes user var http require http var
  • 对于使用 CCCrypt() 的 AES128,密钥可以长于 128 位吗?

    我正在使用CCCrypt https developer apple com library archive documentation System Conceptual ManPages iPhoneOS man3 CCCrypt 3c
  • HTML 分页

    有没有html分页的开源项目 我正在为 iPhone 开发一个应用程序 我想在 UIWebView 上显示 HTML 文件 并且不希望用户向下滚动以查看屏幕上未显示的剩余内容 我想在第二个 UIWebView 上显示剩余的内容 我怎样才能做
  • 如何向 UIView 添加大小调整手柄?

    我试图根据用户请求在运行时动态创建视图 UIImageView 和 UITextView 然后允许用户移动它们并调整它们的大小 除了调整大小之外 我的一切都工作得很好 我尝试使用捏合手势识别器 但发现它对于我想要的东西来说太笨拙了 因此 我
  • 如何右对齐 UILabel?

    Remark 实施 myLabel textAlignment right does not解决了我的问题 这不是我所要求的 我想要实现的是让标签对齐右对齐 为了更清楚地说明 这就是如何left对齐外观 就是这样justify对齐外观 if
  • iOS UITableViewCell cell.imageView 设置圆角

    嘿我正在尝试设置cell imageView s cornerRadius 但似乎不起作用 cell imageView layer cornerRadius 9 它会起作用还是我应该添加自定义UIImageView在我的牢房里有圆角吗 我
  • 以弯曲格式显示文本

    我正在寻找以曲线格式绘制一些文本 我使用哪个控件并不重要 UITextField UILabel or UITextView 我只想显示如图所示的文本 仍在寻找解决方案 请帮忙 查看此链接 https nodeload github com
  • 以编程方式从底部裁剪图像

    我正在开发自定义相机应用程序 一切进展顺利 但我在从底部裁剪图像时遇到了问题 即 裁剪后的图像与原始图像具有完全相同的宽度 但高度将为原始图像的 1 3 并且必须从底部开始 斯威夫特3解决方案 func cropBottomImage im
  • iOS 解决方法:在没有 CSS 属性的情况下平滑滚动 滚动行为:平滑?

    编辑 我找到了一个 jQuery 解决方案 https codepen io chriscoyier pen dpBMVP https codepen io chriscoyier pen dpBMVP这个确实可以在 iOS 上运行 我想
  • XCode 4.5 给我“SenTestingKit/SenTestKit.h”文件未找到,但适用于 4.4.1

    我刚刚安装了 XCode 4 5 它在我现有的项目之一上给了我一个 SenTestingKit SenTestingKit h 文件未找到错误 此错误仅发生在 XCode 4 5 中 但它在 4 4 1 上编译正常 我已经检查过SenTes
  • iOS 视图控制器内存在被关闭后未释放

    当用户单击按钮时 它会显示一个带有两个视图控制器的新选项卡栏视图控制器 我是这样做的 ACLevelDownloadController dvc ACLevelDownloadController alloc initWithNibName
  • ios 导航 堆栈操作

    我在尝试从 iOS 应用程序操作导航堆栈时遇到问题 或者至少是由于这种操纵而产生的行为 我的情况 我有 3 个 ViewController 控制器a显示多个级别 控制器 b 是游戏视图 控制器 c 是某种分数 显然 我将在控制器 a 中选
  • 如何将相机中的图像保存到 iPhone 图库中的特定文件夹?

    嘿 我是 iPhone 新手 最近我一直在尝试制作一个应用程序 基本上 我想要做的是 如果用户将从相机捕获任何图像 那么它应该保存在设备库中 我知道如何将照片保存在图库中 它对我有用 但我无法将所有捕获的图像保存到设备图库中的特定文件夹 例

随机推荐

  • Vue.js 无法切换字体很棒的图标

    我正在尝试根据布尔值切换很棒的字体图标 但看起来很棒的字体图标在绘制后仍保留在屏幕上 https jsfiddle net 50wL7mdz 200312 https jsfiddle net 50wL7mdz 200312 HTML
  • 实体框架 - Linq To 实体 - 多对多查询问题

    我在查询 Linq To Entities 中的多对多关系时遇到问题 我基本上尝试使用 Linq 复制此查询 Select FROM Customer LEFT JOIN CustomerInterest ON Customer Custo
  • 从 Play 框架 (Scala) 中的 play.api.mvc.Action[AnyContent] 获取响应正文

    我有以下 Play Scala 代码 object Experiment extends Controller routes file directs genki here def genki name String Action pipe
  • Worker调度算法

    问题 这就是我想要解决的问题的本质 我们有工作人员在周末的固定时间在托儿所照顾孩子 一个周末有 16 个不同的时段需要填补 因此 对于为期 4 周的月份 需要填补 64 个空缺 我们最多有 30 名托儿所工人 尽管我们需要更多 有人喜欢孩子
  • 有没有办法在没有模型的情况下使用 formattastic 创建表单?

    我想使用 formattastic 来创建表单 但我没有与之相关的模型 带有用户名 密码和 openid URL 的登录表单 当然 我可以创建一个模型来做到这一点 但该模型只是一个黑客 其中没有任何有用的代码 您可以传递字符串而不是模型 它
  • paypal平行支付和链式支付的区别

    我需要实现一个支付网关 用户可以通过该网关在一笔交易中向两个卖家付款 所以我尝试了贝宝的两种选择 Paypal 并行支付 Paypal 链式支付 虽然两者都完美地满足了我的需求 但我很想知道哪一种更适合我的需求以及两种方法之间的区别 我还想
  • 大文本语料库破坏 tm_map

    在过去的几天里 我一直在为这个问题伤透脑筋 我搜索了所有 SO 档案并尝试了建议的解决方案 但似乎无法让它发挥作用 我在 2000 06 1995 99 等文件夹中有一组 txt 文档 并且想要运行一些基本的文本挖掘操作 例如创建文档术语矩
  • 带有 BigQuery 分区表的 BigQuery 数据传输服务 [已关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我可以访问 BigQuery 中的一个项目 我希望按摄取时间创建一个分区表 按天分区 然后设置一个 BigQuery 数据传输流程
  • MySQL全文检索布尔模式混乱

    当尝试在布尔模式下使用全文搜索设置搜索时 我有点困惑 这是我正在使用的查询 query SELECT MATCH title AGAINST q IN BOOLEAN MODE AS score FROM results WHERE MAT
  • GAS 不允许在 Team Drive 中以编程方式创建可安装的触发器

    我的公司一直在尝试使用 G Suite 将我们的流程转移到线上 由于某种原因 GAS 不允许我以可编程方式设置触发器并返回 异常 不允许操作 请参见下面的屏幕截图 1 3 请求授权 1 SO 不允许我发布两个以上的链接 这是一个屏幕截图 告
  • xcode 6 对象库为空(没有匹配项)

    我正在尝试按照说明创建 Hello World 但我的对象库中似乎没有任何内容 它只是在对话框中显示 没有匹配项 我在这里缺少什么 谢谢 我发现了一个解决方案 当我在助理编辑器中编辑情节提要时 就发生了这种情况 我关闭了助理编辑器并在主编辑
  • Javascript:从外部 CSS 文件中删除媒体查询

    如何删除从外部 css 文件加载的媒体查询 请注意 我无法禁用整个链接标记 因为该媒体查询中包含其他重要样式 body container media min width XXXpx 谢谢你 我强烈推荐纯 CSS 解决方案来解决这个问题 例
  • 如何删除应用程序快捷方式图标中的徽章?

    How to remove the badge in app shortcut icon in android When i create app shortcut programmatically along with the icon
  • Boost Asio async_wait 处理程序

    升压asiodeadline timer async wait函数正在采用以下形式的处理程序 void handler const boost system error code error 我如何定义一个处理程序来接收const boos
  • 为什么要创建自定义异常? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 为什么我们需要创建自定义异常 NET 特定的自定义异常允许您为 catch 语句隔离不同的错误类型 异常处理的常见结构是这样的 try catc
  • 类似热图的图,但适用于分类变量

    我为大约 50 个人中的每一个设定了三个因子 集合 1 集合 2 和集合 3 set1 set2 和 set3 的值为 A B C 我想对这些数据制作一个类似热图的图 但让图例显示与值相关的颜色 例如 A 红色 B 蓝色 C 黑色 有什么建
  • 单独的 js 文件中的 getElementById 找不到 ASP.net 控件

    当我在页面标记中有这个时 它工作正常 但是当我在一个单独的文件中有相同的东西时 即使该函数is已执行 的值v遗迹null 我尝试用一 个简单的div and it did找出div 为什么找不到 ASP net 按钮 EDIT 我什至添加了
  • Doctrine2:使用左连接/分页进行限制 - 最佳实践

    我有一个大查询 在我的查询生成器中 和很多左连接 所以我得到带有评论和标签等的文章 假设我有以下 dql dql SELECT blogpost comment tags FROM BlogPost blogpost LEFT JOIN b
  • HttpContext.User.Claims 与 JWT 令牌不匹配 - “Sub”更改为“NameIdentifier”

    我遇到以下情况 非常感谢任何帮助 我在用户界面 Blazor 服务器应用程序 中使用 JSON Web 令牌 jwtbearer 进行身份验证和授权 以访问我的 Web API Asp net core 5 0 我尝试从通过 UserId
  • drawViewHierarchyInRect:afterScreenUpdates 和 renderInContext: 不起作用...其他解决方案?

    我需要捕获 UIScrollView 内的大 UIView 的一部分 我正在使用 CALayer 的方法renderInContext 2年多以来 即使该方法在 99 的情况下无法渲染特殊对象 如 MapView 它仍然完美且足够快 足以满