如何获得UIImageView的图形上下文?

时间:2011-06-24 17:54:44

标签: objective-c ios cocoa-touch

我有一个 UIImageView

我想得到它的背景,以便我可以画上它。

我知道我可以通过调用UIGraphicsGetCurrentContext()来获取我的主要图形上下文,但我想绘制我的图像视图,而不是表单的背景。这是可能的,如果是这样的话?

我试图绘制主UI图形上下文,但没有出现。我认为它是在我的图像视图下绘制的。我是正确的还是我在这种情况下感到困惑?

1 个答案:

答案 0 :(得分:7)

你有点困惑。 :)视图没有上下文。当视图即将在屏幕上绘制时,UIKit会设置图形上下文,将其提供给视图,并调用视图的drawRect:。然后,视图可以将绘图指令放入上下文中。视图完成后,UIKit会将上下文移开并将绘图指令转换为位图,并将其放在屏幕上。

因此视图只能访问UIKit设置时进入屏幕的图形上下文。为了让能够访问此上下文,您必须将代码放在视图的drawRect:中。你实际上无法在屏幕上绘制任意视图。

你能做的就是把你自己的,大部分透明的视图放在它上面,然后画进去。