Iphone 如何从另一个UIImageView中删除UIImageView
在TouchesBegind方法中,我将stampBrush图像添加到drawImage,其中两者都是UIImageViewIphone 如何从另一个UIImageView中删除UIImageView,iphone,ipad,Iphone,Ipad,在TouchesBegind方法中,我将stampBrush图像添加到drawImage,其中两者都是UIImageView - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { stampBrush = [[UIImageView alloc] initWithImage:[[PaintColor stampImages] objectAtIndex:[stamp_Default integerForK
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
stampBrush = [[UIImageView alloc] initWithImage:[[PaintColor stampImages] objectAtIndex:[stamp_Default integerForKey:STAMP_TYPE]]];
[stampBrush setFrame:CGRectMake(lastPoint.x, lastPoint.y, stampBrush.image.size.width,stampBrush.image.size.height)];
[drawImage addSubview:stampBrush];
}
现在我正试图删除一个一个的removeStampBrush点击!
需要从drawImage中删除哪个stampBrush
-(void)removeStampBrush:(UIButton *)sender{
}
由于您希望按相反的顺序删除戳记,因此我将扩展UIImageView,如下所示: YourImageView.h
@interface YourImageView : UIImageView {
NSMutableArray *stamps;
}
- (void)addStamp:(UIImageView *)stamp;
- (void)removeLastStamp;
@end
YourImageView.m
#import "YourImageView.h"
@implementation YourImageView
-(void)dealloc {
[stamps release];
[super dealloc];
}
- (void)addStamp:(UIImageView *)stamp {
if (stamps == nil) {
stamps = [[NSMutableArray array] retain];
}
[stamps addObject:stamp];
[self addSubview:stamp];
}
- (void)removeLastStamp {
if (stamps.count > 0) {
UIImageView *stamp = [stamps lastObject];
[stamp removeFromSuperview];
[stamps removeLastObject];
}
}
@end
现在,从您的触摸事件调用
[drawImage addStamp:stampBrush]
中删除最后一个[drawImage removeLastStamp]
是否真的需要检查“if”?如果[stampBrush superView]为零怎么办?我想我们可以调用[stampBrush removeFromSuperView],它不应该给出任何错误@萨阿德!我在使用[stampBrush removeFromSuperView]时添加了三个图像;添加到drawImage的最后一个图像在我再次单击时被删除,无法删除!即使我检查条件,如果没有它带来同样的结果!您如何知道要删除哪一个stampBrush?或者你总是想按你添加它们的相反顺序删除它们吗?@iTuker是的,我想按相反顺序删除它们!
#import "YourImageView.h"
@implementation YourImageView
-(void)dealloc {
[stamps release];
[super dealloc];
}
- (void)addStamp:(UIImageView *)stamp {
if (stamps == nil) {
stamps = [[NSMutableArray array] retain];
}
[stamps addObject:stamp];
[self addSubview:stamp];
}
- (void)removeLastStamp {
if (stamps.count > 0) {
UIImageView *stamp = [stamps lastObject];
[stamp removeFromSuperview];
[stamps removeLastObject];
}
}
@end