gpt4 book ai didi

iphone - 如何获取 UIGraphicsPushContext 参数的上下文?

转载 作者:行者123 更新时间:2023-11-29 11:18:17 24 4
gpt4 key购买 nike

正如苹果文档所说,UIGraphicsGetCurrentContext只能在drawRect方法中使用。如果你想在其他地方使用它,你必须先推送一个上下文。

现在我想使用 UIGraphicsGetCurrentContext 在我自己的名为 render 的方法中获取上下文。如何获取要推送的上下文?

我可以在 drawRect 中获取上下文并将其保存在非局部变量中吗?并以另一种方法推送它,然后使用 UIGraphicsGetCurrentContext 来使用它。如果是这样,为什么我需要插入它并再次获得它?我可以直接使用非局部变量。

最佳答案

您可以调用需要在定时器上重绘的 View 的 setNeedsDisplay,并让它的 drawRect 调用您的 render(而不是调用您的直接在定时器上渲染)。这样您就可以避免对 CG​​ 上下文进行异常操作,并在矩形滚出屏幕时阻止渲染。

编辑:当您希望特定上下文成为 UI Kit 操作的上下文时,您可以使用 UIGraphicsPushContext 和 UIGraphicsPopContext。我最初对他们所做的事情的理解是不正确的(我自己对 iOS 开发还比较陌生)。例如,有些操作(例如,一些设置颜色或其他绘图参数的操作)隐式操作当前上下文。如果您为在位图上绘制等设置上下文,然后您想要使用修改当前上下文状态的操作(即修改上下文参数的操作,但不将特定上下文引用作为一个参数),你推送位图上下文使其成为当前位图上下文,执行隐式引用它的操作,然后立即弹出上下文。

特别感谢 rob mayoff 向我解释了这一点。

关于iphone - 如何获取 UIGraphicsPushContext 参数的上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8464573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com