来自Apple iOS Documentation #UIGraphicsGetCurrentContext:“在iOS 4及更高版本中,您可以从应用的任何主题调用此功能。”
另外,为什么方法以C函数格式调用
UIGraphicsGetCurrentContext()
而不是Objective-C邮件格式[UIView UIGraphicsGetCurrentContext]
?
答案 0 :(得分:1)
iOS上有一些API可以通过C而不是ObjC对象访问。用于绘图的CoreGraphics(所有CG*
函数)是最重要的函数之一。
直接绘图通常在CGContextRef
中完成,代表图形上下文。 UIKit为绘图保留了一堆上下文(通常你不会在当前上下文之外进行多少交互)。此堆栈由全局C函数访问,因为您可以从任何地方使用它们。通常,它们是从drawRect:
内部访问的,但您可以在其他位置使用此堆栈。 Per the docs:
但是,如果您没有使用UIView对象来绘制图形 必须使用。手动将有效上下文推送到堆栈 UIGraphicsPushContext函数。