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