2017-06-15 30 views
0

在我的程序中,我做了一些像this视频,并使我的UIView可拖动。我正在制作太空侵略者类型的游戏,我需要UIView作为太空船。它目前只是一个普通的UIView白色矩形。有没有办法将UIView的白色矩形替换为图像?或者我是否会以错误的方式解决这个问题?如何用图像替换UIView?

+3

使用'UIImageView'。 – rmaddy

回答

1

你不需要更换它,你可以一个UIImageView添加到UIView的

UIView *view = your view; 
UIImageView *imageView = [[UIImageView alloc] initWithFrame:view.frame]; 
[imageView setImage:[UIImage imageNamed:@""]]; 
[view addSubview:imageView]; 
2

有没有一种方法,以取代白色矩形是UIView的一个形象?

当然,您可以使用UIImageView来代替您当前使用的UIView。然后你只需配置图像视图来显示你想要的任何图像。

另一种选择是创建你自己的子类UIView,知道如何绘制其内容(在这种情况下是一个太空船)。

还是我要解决这个错误的方式?

像你正在建设的游戏一样,游戏通常使用精灵来绘制游戏的各个部分,精灵是2D图像的动画序列。这是很常见的事情,许多平台都提供专用于高效地绘制和移动精灵的库。在iOS上,该库名为​​,对于您试图执行的操作,尝试绘制所有视图都可能是更好的选择。

同样,有一个框架叫SceneKit用于处理3D对象。这可能比你想要的更先进,尤其是如果你刚刚开始。

+0

如果你正在创建'Space Invaders'类型的游戏,我肯定会花时间学习和使用SpriteKit。这就是它的目的!:) –