2012-05-23 42 views
2

我在相機OverlayView.xib上有一個UIActivityIndi​​catorView中間。我通過多次撥打[cameraPicker takePicture]拍攝多張照片。我想說明的指示燈,當所有卡扣服用由波紋管代碼完成:UIActivityIndi​​catorView在拍攝完成時未在相機覆蓋視圖上顯示

- (void)didTakePicture:(UIImage *)picture { //Called from picker didFinishPickingMediaWithInfo 

    [self.capturedImages addObject:picture]; 
    snapsCount ++; 
    if (snapsCount < noOfSnaps) { 
     [cameraPicker takePicture]; 
    }else { 
    overlayView.indicator.hidden = NO; //Not showing indicator 
    [overlayView.indicator startAnimating]; //Not working 
    } 
} 

誰能告訴我,爲什麼不展示的原因。 根據以下情況,我可以在拍最後一拍之前顯示指標,但爲什麼不能最後呢。

if (snapsCount < noOfSnaps) { 
    if (snapsCount+1 == noOfSnaps) { 

     overlayView.indicator.hidden = NO; //Show the indicator 
     [overlayView.indicator startAnimating]; //Work nicely 
     overlayView.userMessage.text = @"Processing"; 
    } 
    [cameraPicker takePicture]; 
} 

有沒有人遇到問題,並知道解決方案顯示指標後,所有捕捉完成。

在此先感謝。

+1

代碼執行在約0.0001秒,所以,當你開始和實際之間的回採活動的指標不執行任何操作(肉眼) - 該代碼執行速度過快。 – WrightsCS

+0

在新線程中做動畫並停止,直到最後一次沒有拍攝爲止 –

+0

@safecase我編輯了這個問題請看看.. – kallol

回答

0
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 

if (snapsCount > noOfSnaps) { 
overlayView.indicator.hidden = NO; 
[overlayView.indicator startAnimating]; 
} 
[NSTimer scheduledTimerWithTimeInterval:0.3 
           target:self 
           selector:@selector(didTakePicture:) 
           userInfo: [info objectForKey:UIImagePickerControllerOriginalImage] 
           repeats:NO]; 
} 
相關問題