我想根据不同的用户操作动态更改当前的CGContextRef?这是可能的还是仅在视图实例的drawRect:
内进行修改?当我在UIGraphicsGetCurrentContext()
之外拨打drawRect:
并且这样做有任何限制时会发生什么情况,这是推荐的吗?我需要考虑的任何可能的影响?
答案 0 :(得分:0)
根据文档,图形上下文仅在调用此函数之前设置。这意味着如果没有调用此功能,它将不会被设置,如果你不让系统再次调用它(由于这个原因你永远不会这样做),它也不会在那里。
使用其中一个函数强制视图回到drawRect:
setNeedsDisplay:
setNeedsDisplayInRect:
但这并不意味着你只能在drawRect中做一些事情。这个上下文在那个时刻是全局可用的,你可以调用干净的单独函数甚至类来绘制东西。传递对这些函数的引用是一种干净的方法。