![](/img/trans.png)
[英]Problem removing multiple objects from NSMutableArray iPhone SDK
[英]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.