2012-11-02 20 views
3

我試圖通過做一個長按手勢刪除圖像... 問題是我可以在同一視圖上有多個圖像。並可能想通過按住圖像來刪除每個圖像。使用UIGestures刪除選定的uiimage?

所以可以說我有:

@property (nonatomic, retain) IBOutlet UIImageView *Image1; 
@property (nonatomic, retain) IBOutlet UIImageView *Image2; 
@property (nonatomic, retain) IBOutlet UIImageView *Image3; 

都在同樣的觀點。 現在我按住Image1。 如何獲得Longpress手勢以知道Ive選擇了Image1?

- (void)handleDelete:(UILongPressGestureRecognizer *)recognizer { 
    //Something in here to detect image is selected and delete :) 
} 

謝謝!

回答

2

給這個UIGestureRecognizerDelegate在.h文件中和後,試試這個代碼...

UILongPressGestureRecognizer *longpressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressHandler:)]; 
    longpressGesture.minimumPressDuration = 5; 
    [longpressGesture setDelegate:self]; 
    [self.yourImages addGestureRecognizer:longpressGesture]; 
    [longpressGesture release]; 

    - (void)longPressHandler:(UILongPressGestureRecognizer *)gestureRecognizer { 
     NSLog(@"longPressHandler"); 
     UIImageView *tempImage=(UIImageView*)[gestureRecognizer view]; 
     [tempImage removeFromSuperview]; 
    } 
+0

哇這個很好用!謝謝!!!:D:D – paintball247

1

添加UILongPressGestureRecognizer個人圖像,然後當檢測到的手勢刪除它們,就像下面:

UILongPressGestureRecognizer *longPressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressDetected:)]; 
longPressRecognizer.minimumPressDuration = 3; 
longPressRecognizer.numberOfTouchesRequired = 1; 
[self.Image1 addGestureRecognizer:longPressRecognizer]; 
[self.Image2 addGestureRecognizer:longPressRecognizer]; 
[self.Image3 addGestureRecognizer:longPressRecognizer]; 

- (IBAction)longPressDetected:(UILongPressGestureRecognizer *)sender { 
    NSLog(@"Long Press"); 
    // Delete/Remove sender object 
} 
+0

謝謝您!我唯一的問題就是現在.. 如何刪除image1等 這樣的? [if(image1 == longPressRecognizer){ image1.alpha = 0; } 這樣的事情? – paintball247

+0

'[image1 removeFromSuperview]'? – user427969

+0

啊好點...有趣的是雖然是image1 == longPressRecognizer ..我一直得到那個longpressrecognizer是未申報的..這是沒有道理的。它是通過UILongPressGestureRecognizer * longPressRecognizer宣佈的 – paintball247