实例化图像以显示在屏幕上的几个不同点?

时间:2013-03-07 12:04:38

标签: ios objective-c uiimage

我有一个名为Empty.png的图像,它是一个小的方形图块,我怎么能实例化图像以显示在屏幕上的几个不同点?

提前感谢您提供任何帮助:)

3 个答案:

答案 0 :(得分:1)

您可以将UIImageView放置在想要显示图像的任何位置。然后将每个图像视图的图像属性设置为此图像。 (UIImage对象)。

如果您正在使用界面构建器,则只需在界面构建器的imageview的属性检查器中键入文件的名称。

或者你可以这样做:

UIImage *img = [UIImage imageName:@"Empty.png"];
imageView.image = img; //Assuming this is your utlet to the image view.

答案 1 :(得分:0)

这将为您提供一个视图

CGPoint position = CGPointMake(x,y);
UIImageView *img = [[UIImageView alloc] init];
img.image = [UIImage imageNamed:@"Empty.png"];
img.frame = CGRectMake(position.x, position.y, img.image.size.width, img.image.size.height);
[someUIView addSubview:img];

如果你为所有图像的位置(x,y)创建一个数组,那么你可以在for循环中运行它,它会将图像放在你想要的位置的视图中

注意:CGPoints不能存储在NSArray中,因为它不是NSObject类型,要么使用C / C ++数组,要么使用适合NSArray的其他东西

答案 2 :(得分:0)

这取决于您想要如何使用它。

如果您只是用核心图形绘制它,让我们说在drawInRect:左右,那么您只需绘制几次。

如果要在一个或多个图像视图中显示它,则实例化UIImageViews并将相同的对象分配给所有这些视图。或者让Interface Builder为您进行实例化。但是,您无法多次向一个或多个子视图层次结构添加单个UIView对象。如果将UIView作为子视图添加到视图中,那么它将从之前的位置消失。 10 UIImageView可能使用相同的UIView,但你需要10个UIImageViews才能显示所有这些。

这同样适用于UIButtons和具有图像或背景图像的每个UI。