我被困在顯示uibutton * removeSticker,請幫忙。uibutton只顯示在新添加的uiview中
- (void)viewWillAppear:(BOOL)animated {
UIView *holderView = [[UIView alloc] initWithFrame:CGRectMake(0, 50, _imagePicker.selectedImage.size.width, _imagePicker.selectedImage.size.height)];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:[holderView frame]];
[imageView setImage:_imagePicker.selectedImage];
[holderView addSubview:imageView];
removeSticker = [UIButton buttonWithType:UIButtonTypeCustom];
removeSticker.frame = CGRectMake(0, 0, 32, 32);
[removeSticker setImage:[UIImage imageNamed:@"cancel-disabled.png"] forState:UIControlStateNormal];
[removeSticker addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchDown];
[holderView addSubview: removeSticker];
[removeSticker setHidden: YES];
UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scale:)];
[pinchRecognizer setDelegate:self];
[holderView addGestureRecognizer:pinchRecognizer];
UIRotationGestureRecognizer *rotationRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotate:)];
[rotationRecognizer setDelegate:self];
[holderView addGestureRecognizer:rotationRecognizer];
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(move:)];
[panRecognizer setMinimumNumberOfTouches:1];
[panRecognizer setMaximumNumberOfTouches:1];
[panRecognizer setDelegate:self];
[holderView addGestureRecognizer:panRecognizer];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
[tapRecognizer setNumberOfTapsRequired:1];
[tapRecognizer setDelegate:self];
[holderView addGestureRecognizer:tapRecognizer];
UILongPressGestureRecognizer *longPressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)];
[longPressRecognizer setDelegate:self];
[holderView addGestureRecognizer:longPressRecognizer];
[stickerView addSubview:holderView];
}
- (void)buttonClicked:(id)sender{
UIView *holderView = [(UIButton *)sender superview]; [holderView removeFromSuperview];
}
的UIButton的* removeSticker只出現在最新添加的UIView * holderView,如果我想編輯以前添加一次,發生什麼。請幫助,非常感謝。
-(void)longPress:(id)sender {
[removeSticker setHidden:NO];
}
請查看附件截圖:http://i.stack.imgur.com/moMOj.png
對於上面的截圖中,瓶子和西瓜是*holderView
。 我先添加了瓶子,然後添加了西瓜,但是當我點擊瓶子時,[removeSticker setHidden:NO];
顯示在西瓜而不是瓶子裏。
[removeSticker setHidden:NO];
只顯示在最新添加的*holderView
。
你是什麼意思「只出現在最新添加的uiview * holderView」上?你能解釋更多嗎? – Canopus 2012-01-06 14:18:04
@Canopus我已經更新了我的問題,非常感謝。 – zeropt7 2012-01-06 14:45:09