如何用图像替换UIView?

时间:2017-06-15 14:45:03

标签: ios objective-c iphone uiview

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

2 个答案:

答案 0 :(得分:2)

  

有没有办法将UIView的白色矩形替换为图像?

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

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

  

或者我是以错误的方式解决这个问题?

像您正在构建的游戏经常使用精灵绘制游戏的各个部分,精灵是可动画的2D图像序列。这是很常见的事情,许多平台提供专门用于有效绘制和移动精灵的库。在iOS上,该库名为SpriteKit,对于您尝试做的事情而言,它可能是比尝试使用视图绘制所有内容更好的选择。

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

答案 1 :(得分:1)

您不需要替换它,您可以将UIImageView添加到UIView

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