IOS:用 UIImageView 填充 NSArray
Posted
技术标签:
【中文标题】IOS:用 UIImageView 填充 NSArray【英文标题】:IOS: fill a NSArray with UIImageView 【发布时间】:2011-04-13 08:50:26 【问题描述】:在我的项目中,我创建了 30 个小的 UIImageView,其中我放置了不同的背景。这是我的一组没有背景的 UIImageView
这是一组不同背景的 UIImageView:
我将这组 UImageView 放在 UITableViewCell 中,并使用它们来定义时间线,但这并不重要。 我在 .h 中声明了这些 UIImageView,但现在我必须在 NSArray 或 NSMutableArray 中插入主题?因为在我的代码中(视情况而定)我必须为每个 UIImageView 设置不同的背景。如何在我的代码中组织它们?
【问题讨论】:
【参考方案1】:您不想将它们全部放在一个数组中。您真正想要做的是为每个视图分配“标签”。然后,您可以使用-[UIView viewWithTag:(int)];
获取指向您当时想要“交谈”的图像视图的指针。请记住,在标记视图时不要使用负数或 0。
【讨论】:
【参考方案2】:虽然我建议使用单个 UIView 绘制时间线视图,但在数组中动态创建和存储视图很简单:
NSMutableArray *views = [NSMutableArray array];
NSUInteger viewCount = 30;
NSUInteger index;
for (index = 0; index < viewCount; index++)
UIImageView *newView = [[[UIImageView alloc] initWithImage:anImage] autorelease];
[newView setFrame:CGRectMake(index * width, 0.0, width, height);
[[self someView] addSubview:newView];
[views addObject:newView];
记得在某个时候保留或复制views
。
然后,修改视图:
[[views objectAtIndex:8] setImage:anotherImage];
【讨论】:
以上是关于IOS:用 UIImageView 填充 NSArray的主要内容,如果未能解决你的问题,请参考以下文章
我有一个 UIImage,它是 UIImageView 中绘制的黑白图像。如何在触摸时用颜色填充线条内部?
iOS:UILabel 之后的 UIImageView 与多行