我有一个名为Empty.png的图像,它是一个小的方形图块,我怎么能实例化图像以显示在屏幕上的几个不同点?
提前感谢您提供任何帮助:)
答案 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。