iOS - UIGraphicsGetCurrentContext 可以在 drawRect 之外使用吗?
Posted
技术标签:
【中文标题】iOS - UIGraphicsGetCurrentContext 可以在 drawRect 之外使用吗?【英文标题】:iOS - Can UIGraphicsGetCurrentContext be used outside drawRect? 【发布时间】:2014-06-10 02:53:44 【问题描述】:我想根据不同的用户动作动态改变当前的CGContextRef?这是可能的还是只能在视图实例的drawRect:
内进行修改?当我在drawRect:
之外拨打UIGraphicsGetCurrentContext()
时会发生什么,这样做有什么限制吗,是否推荐?我需要考虑任何可能的影响?
【问题讨论】:
【参考方案1】:根据文档,图形上下文仅在调用此函数之前设置。这意味着如果这个函数没有被调用,它将不会被设置,并且如果你不让系统再次调用它(因为这个原因你永远不要这样做)它也不会在那里。
使用这些函数之一强制视图返回 drawRect:
setNeedsDisplay:
setNeedsDisplayInRect:
但这并不意味着你只能在 drawRect 内做事。这个上下文在那个时候是全局可用的,你可以调用干净的单独函数甚至类来绘制东西。传递对这些函数的引用是一种干净的方法。
【讨论】:
以上是关于iOS - UIGraphicsGetCurrentContext 可以在 drawRect 之外使用吗?的主要内容,如果未能解决你的问题,请参考以下文章