我想知道在运行时创建新的UIImageViews的循环。我希望每个UiImageView都有不同的名称。如果用户指定他们想要100个图像,则100个图像的大小适当地放置在屏幕的特定区域中。他们需要填满一个罐子。类似于星巴克移动卡应用程序明星部分,除了可能的图像无限制。
我该怎么做?
编辑:图像视图应该适合下面的罐子:
由于
答案 0 :(得分:1)
您可以使用UIImageView
循环和for
创建多个NSMutableArray
,如下所示:
NSMutableArray *imagesArray = [[NSMutableArray alloc] init];
for (int i=0; i<100; ++i) {
UIImageView *imgView = [[UIImageView alloc] init];
// customize the UIImageView as you like
[imagesArray addObject:imgView];
[imgView release];
}
或者,如果名称很重要,则创建NSMutableDictionary
并使用-addObject:forKey:
为UIImageView
创建密钥@"imgName"
的对象或您喜欢的任何名称。
答案 1 :(得分:0)
内存问题的底线:不要允许无限数量的图片。
如果图像正在填满一个罐子,为了逼真,你必须重叠。如果用户同时在屏幕上显示,则用户将无法看到100个不同的图像。
限制用户。您需要从头脑中获得无限的概念。那你应该没问题。你真正想要的是你的程序显示很多的图像。我不确定你是否打算允许缩放 - 这会使事情变得更复杂 - 但是在iPhone屏幕上以相同的尺寸显示的100个图像不包括你提到的jar是48像素乘32像素。那已经很小了。
我们确实需要更多信息,以便就如何解决此问题向您提供建议。你打算允许缩放吗?图像重叠与否?你想要的最小尺寸有多小?等等。
对于多个图像视图,PengOne是正确的。
这会将图像添加到NSMutableArray。
NSMutableArray *imagesArray = [[NSMutableArray alloc] init]; for (int i=0; i<100; ++i) { UIImageView *imgView = [[UIImageView alloc] init]; // customize the UIImageView as you like [imagesArray addObject:imgView]; [imgView release]; }
(来自PengOne)
您当然必须使用循环将它们添加到屏幕上并最终将其从中删除。