Как отобразить предупреждение, когда пользователь нажимает на кнопку использования после съемки изображения с помощью uiimagepicker? - PullRequest
0 голосов
/ 02 декабря 2009

Я хочу показать предупреждение, когда пользователь снимает изображение и нажимает кнопку использования. Странно, что в iPhone OS 2.0 при съемке изображения отображается сообщение о загрузке, но в iphone os 3.0 ничего не отображается. Как показать предупреждение, есть ли способ ускорить процесс выбора изображения? в моем приложении иногда медленно, а иногда быстро, я еще не понял этого. Кто-то знает об этом?

1 Ответ

1 голос
/ 27 декабря 2009

В вашем методе «imagePickerController» вы захотите отобразить UIAlertView. Ниже показан полный метод создания UIAlertView.

UIAlertView будет отображаться в течение периода времени, необходимого для сохранения изображения в фотоальбом.

Вам также нужно будет добавить метод didFinishSavingWithError

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)selectedImage editingInfo:(NSDictionary *)editingInfo
{
  if(picker.sourceType == UIImagePickerControllerSourceTypeCamera)
  {
    saveImage = [[UIAlertView alloc] initWithTitle:@"Saving Image..." message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:nil]; 

    UIActivityIndicatorView *waitView = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge] autorelease];
    waitView.frame = CGRectMake(120, 50, 40, 40);
    [waitView startAnimating];

    [saveImage addSubview:waitView];
    [saveImage show]; 
    [saveImage release];

    UIImageWriteToSavedPhotosAlbum(selectedImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
  }

  [self dismissModalViewControllerAnimated:YES];
}

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
{
  // Was there an error?
  if (error == NULL)
   {
     NSLog(@"Image Saved");
     [saveImage dismissWithClickedButtonIndex:0 animated:YES]; 
   }
  else
   {
     // Error occured
   }
}
...