2010-06-06 59 views
0

嘿,所有,我目前在教我自己目标C和我有点卡住了。如何引用子类中的视图控制器?

我正在构建一个西洋双陆棋游戏,我有一个子类“Piece”,它在BackGammonViewController中被反复初始化。

在BackGammonViewController,如果我这样做:

UIImage *myImage = [ UIImage imageNamed: @"white-piece.png" ]; 

UIImageView *myImageView = [ [ UIImageView alloc ] initWithImage: myImage ]; 
[self.view addSubview:myImageView]; 
[myImageView release]; 

显示的图像。不过,我想在我的“小品”课上做这个。我如何从片段类中引用“self.view”?我是否需要将参考视图传递给“片段类”?或者是否有我可以从“片段课堂”中调用的全球参考?

感谢您的帮助。

回答

2

您应该避免通过从Piece访问您的控制器的视图来跨越类。

相反,Piece应该是UIView子类,添加图像作为子视图本身当它是init版与框架:

[self addsubview:myImageView]; 

你它作为一个子视图添加到self因为self继承从UIView。因此self“IS”a UIView

然后,只需将该部分添加为控制器视图的子视图即可。

+0

所以,在Piece.h,我会改变它是: “@interface海贼王:UIView的{”, 然后在Piece.m做“[self.view addSubview:myImageView]。 “ ? 这是抛出一个错误(错误:请求成员'视图'的东西不是一个结构或联盟)。感谢您的帮助克里斯! – thekevinscott 2010-06-06 04:00:33

+0

@thekev:我的荣幸!看到我更新的回复。 – 2010-06-06 04:20:17

+0

精美的作品! – thekevinscott 2010-06-06 04:26:56

相关问题