繁体   English   中英

iPhone:从NSMutableArray删除图像

[英]iPhone: Removing Image from NSMutableArray

我正在创建一个将UIImage存储在NSMutableArray的应用程序

    -(void)mainImageSelected: (id)sender
{    
    mainImageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"image%d.png",[sender tag]]]];
    [myArray addObject:mainImageView];
}

现在,我想在用户触摸的地方显示此图像。 我正在做这样的事情:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    CGPoint point = [touch locationInView:self.view];

    if ([currentObject isEqualToString:@"myObject"])
    {
            NSLog(@"Hello World");
            [self.view addSubview:[myArray lastObject]];
            [[myArray lastObject]setCenter:point];
    }
}

直到这里,它工作正常,但问题是当用户按下撤消按钮时,我想删除此图像。 为此,我正在做这样的事情:

-(IBAction)Undo
{
    [myArray removeLastObject];
}

它正在从数组中删除对象,但是图像不会被删除/删除。 有人请解决这个问题。

-(IBAction)decorationUndo
{
    [decorationArray removeLastObject];
    [self.view.subviews removeLastObject];
    [self setNeedsDisplay];
}

您还应该从放置的视图中删除图像,然后再将其从数组中删除:

 -(IBAction)decorationUndo
{
  [[myArray lastObject] removeFromSuperview];
  [myArray removeLastObject];
}

在上面的代码中,我假设decorationArray是包含图像的UIImageView对象的数组。

在从数组中删除它之前,先从视图中删除它。

-(IBAction)Undo
{
    [[myArray lastObject] removeFromSuperview];
    [myArray removeLastObject];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM