我在相机OverlayView.xib上有一个UIActivityIndicatorView中间。我通过反复调用[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];
}
是否有人遇到过这个问题,并且知道在所有快照完成后显示指示器的解决方案。
提前谢谢。
- (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];
}