1

在我的应用程序中,我有一种方法 loadImage。
loadImage 方法用于将新图像添加到 imageView 中。

-(void)loadimage:(int)index
{
  ImageView = [[UIImageView alloc] initWithFrame:CGRectMake(self.view.frame.size.width*index, 0, self.view.frame.size.width, self.view.frame.size.height-88)]; // -88(Upper+Lower)

  NSString *imageNameStr = [NSString stringWithFormat:@"%@",[arrImages objectAtIndex:index]];
  ImageView.image=[UIImage imageNamed:imageNameStr];

  [ScrollView addSubview:ImageView];
}

添加图像后,我想删除旧图像。
removeImage 方法用于从 imageView 中删除旧图像。

如何创建 removeImages 方法来删​​除选定的图像?

4

3 回答 3

0

首先,您需要保留一个图像子视图列表。之后,您可以调用removeFromSuperview要从滚动视图中删除的那些。

声明一个 NSMutableArray 来保存 UIImageViews。

首先,将其添加到您的 loadImage 方法的末尾:

[arrayOfUIImageViews addObject:ImageView]

然后,要删除索引 0 处的图像,请执行以下操作:

[[arrayOfUIImageViews objectAtIndex:0] removeFromSuperview]
[arrayOfUIImageViews removeObjectAtIndex:0]
于 2013-02-17T21:18:12.200 回答
0

您可以将图像视图设置为零,这是清除它的最简单方法。

ImageView.image = nil;

正如您也可以在此答案中指出的那样。 从 UIImageView 中删除图像

于 2014-04-22T04:17:14.543 回答
0

您可以输入唯一的标签号来跟踪UIImageView您要删除的内容。在你的loadImage:方法中:

ImageView.tag = index + numberOffset; 

numberOffset是你知道你不会使用的整数值,这样你就可以避免碰撞

然后,删除图像

-(void)removeImage:(int)tagIndex
{
    UIImageView *imgView = (UIImageView *)[ScrollView viewWithTag:tagIndex];
    if (imgView != nil) 
    {
       [imgView removeFromSuperview];
    }
}

通过调用removeImage:index + numberOffset

希望有帮助

于 2013-02-18T09:43:23.463 回答