2

カメラ OverlayView.xib の中間に UIActivityIndi​​catorView があります。[cameraPicker takePicture]を繰り返し呼び出して、複数のスナップを撮影しています。次のコードですべてのスナップが行われたときにインジケーターを表示したいと思います。

- (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];
}

問題に直面し、すべてのスナップ撮影が完了した後にインジケーターを表示する解決策を知っている人はいますか?

前もって感謝します。

4

1 に答える 1

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];
}
于 2012-05-23T05:33:01.753 に答える