2010-10-14 67 views
0

我在我的主UIView中绘制了8个精灵,每个游戏tic都有一个drawrect方法。我想把每个这些精灵分成一个独立的UIView。如何将Quartz 2D绘图集成到UIView子视图中?

我试图先拆分出一个精灵作为测试。

到目前为止,我已经添加了一个UIView作为子视图到我的主视图并设置它的框架。这会在视图上画一个黑框。我的问题是我现在如何得到在绘制到这个UIView的drawrect方法中的精灵绘图?

感谢所有,

马丁

回答

0

每个视图都需要它自己的drawRect,并放在您需要调用setNeedsDisplay每个(子)视图中可见。在drawRect中为您希望显示的视图绘制精灵。你可以有很多子类型的视图,每个都有自己的drawRect,或者在一个drawRect里面有一个switch case语句,它根据某种子视图属性选择要绘制的内容。

您可能还想将精灵视图的背景颜色设置为透明,以便在绘制它们之前它们是不可见的。

+0

谢谢 - 但我不能让他subview显示 - 我所得到的是一个黑匣子。我需要设置除子视图框外的任何东西吗? – GuybrushThreepwood 2010-10-14 19:43:47

+0

@Ohnomycoco:你可以改变子视图的背景颜色吗?子视图的drawRect实际上是否被调用(设置断点)? – hotpaw2 2010-10-14 19:50:01

+0

正在调用drawrect(通过bpoint检查)。这是我添加子视图的代码:CGRect fr = CGRectMake(55.0f,0.0f,50.0f,50.0f); \t \t self.view2.backgroundColor = [UIColor whiteColor]; \t \t self.view2 = [[SecondView alloc] initWithFrame:fr]; \t \t [self.view addSubview:view2]; \t \t [view2 release]; – GuybrushThreepwood 2010-10-14 19:55:34

相关问题