0

我有多個圖像顯示在ImageView中使用交叉溶解動畫和錄製圖像顯示圖像細節。以下是代碼工作,但在從一個圖像到另一個圖像進行動畫處理時,點擊imageview失敗。iOS:UIImageView沒有響應動畫之間的水龍頭手勢

用於將單擊手勢識別器附加到UIImageview並啓動動畫計時器的代碼。

self.imageView.userInteractionEnabled = YES; 
    self.singleTapGestureRecogniser = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showDetails)]; 
    self.singleTapGestureRecogniser.numberOfTapsRequired = 1; 
    self.singleTapGestureRecogniser.cancelsTouchesInView = NO; 

    [self.imageView addGestureRecognizer:self.singleTapGestureRecogniser]; 

    [self startAnimationTimer]; 

- (void)startAnimationTimer 
{ 
    if(!self.timer && ![self.timer isValid]) { 
     self.timer = [NSTimer scheduledTimerWithTimeInterval:5.0 
           target:self 
           selector:@selector(startAnimation) 
           userInfo:nil 
           repeats:YES]; 
     [self.timer fire]; 
    } 
} 

上ImageView的一個水龍頭工作正常,除非以下代碼執行!我必須點擊3-4次來打開有關圖像的細節。

- (void)startAnimation 
{ 
    [UIView transitionWithView:self.imageView duration:2.0 
         options:UIViewAnimationOptionTransitionCrossDissolve 
        animations:^ { 
         currentImageIndex = ++currentImageIndex % self.images.count; 
         [self.imageView setImage:[[self.images objectAtIndex:currentImageIndex] image]]; 
        } completion:^(BOOL finished) { 
        } 
    ]; 
} 

有人可以請建議我如何擺脫這個問題,請。而在動畫的選項

+0

禁止用戶交互並完成動畫後啓用。 – Ashim

+0

我不想禁用用戶交互。我想在任何時候識別輕拍事件,包括動畫製作。 – applefreak

+0

你能告訴我崩潰日誌嗎? – Ashim

回答

4

集UIViewAnimationOptionAllowUserInteraction像這樣

[UIView transitionWithView:self.imageView duration:2.0 
         options:UIViewAnimationOptionTransitionCrossDissolve | UIViewAnimationOptionAllowUserInteraction 
        animations:^ { 
         currentImageIndex = ++currentImageIndex % self.images.count; 
         [self.imageView setImage:[[self.images objectAtIndex:currentImageIndex] image]]; 
        } completion:^(BOOL finished) { 
        } 
    ]; 
+0

太棒了!我不知道這個選項。謝謝。 :-) – applefreak

+1

@applefreak:如果您滿足於此答案,則將其標記爲已接受的答案。 –

+0

對不起,我試圖立即接受它,但所以要求我等5分鐘! – applefreak

相關問題