2012-04-16 15 views
0

UIボタンを押しながら撮影を実装しましたが、ボタンを押したときにアプリがクラッシュしました。iphoneアプリを使用してカメラから写真を撮る方法

ここにソースコードがあります。

.h file 
@interface Camera : UIViewController 
           <UIImagePickerControllerDelegate> 
{ 
    UIImagePickerController *mPicture; 

} 
@property (nonatomic, retain) UIImagePickerController *mPicture; 

.m file 
@implementaion Camera 
@synthesize mPicture; 
    -(void)pictureButtonPushed 
    { 
    UIImagePickerControllerSourceType mType = UIImagePickerControllerSourceTypeCamera; 
     if ([UIImagePickerController isSourceTypeAvailable:mType]) 
     { 
      mPicture.sourceType = mType; 
      [self presentModalViewController:mPicture animated:YES]; 
     } 
    } 

ここでは、事前

+0

を助けることを願ってみ? – Narayana

+0

の初期化部分は、あなたがここにクラッシュレポートをコピーすることができている

-(IBAction)takePhoto { UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { [imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera]; } // image picker needs a delegate, [imagePickerController setDelegate:self]; // Place image picker on the screen [self presentModalViewController:imagePickerController animated:YES]; } -(IBAction)chooseFromLibrary { UIImagePickerController *imagePickerController= [[UIImagePickerController alloc]init]; [imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; // image picker needs a delegate so we can respond to its messages [imagePickerController setDelegate:self]; // Place image picker on the screen [self presentModalViewController:imagePickerController animated:YES]; } //delegate methode will be called after picking photo either from camera or library - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { [self dismissModalViewControllerAnimated:YES]; UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; [myImageView setImage:image]; // "myImageView" name of any UImageView. } 
Garoal

+0

いつものように、クラッシュが発生した行と、クラッシュのコンソール出力を指摘できない限り、これは役に立たない。 –

答えて

0

のおかげであなたは

- (void)cameraPressed 
{ 
    UIActionSheet *menu = [[UIActionSheet alloc] 
          initWithTitle:@"Set a Prifile Picture" 
          delegate:self 
          cancelButtonTitle:@"Cancel" 
          destructiveButtonTitle:nil 
          otherButtonTitles:@"Choose From Library",@"Take a New Photo",nil]; 

    [menu showInView:[self.navigationController view] ]; 
} 

// actionsheet delegate 
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    if (buttonIndex == 1) { 
     @try {     
      if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { 

       imagePickerController = [[UIImagePickerController alloc] init]; 

       imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera; 
       imagePickerController.navigationBar.barStyle = UIBarStyleBlack;     
       imagePickerController.delegate = self; 
       imagePickerController.allowsEditing = NO; 
       [appDelegate.objList setHidden:TRUE]; 
       appDelegate.strRefreshCamera = @"notupdate"; 
       [self presentModalViewController:imagePickerController animated:YES]; 
       [imagePickerController release]; 
      } 
      else { 
       [appDelegate showAlertWithTitle:@"Info" message:@"This function needs a camera which is only available on the iPhone or iPod."]; 
      } 
     } 
     @catch (NSException *e) { 

     } 
    } 
    if (buttonIndex == 0) { 
     if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) { 
      imagePickerController = [[UIImagePickerController alloc] init]; 
      imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
      imagePickerController.navigationBar.barStyle = UIBarStyleBlack; 
      imagePickerController.delegate = self; 
      imagePickerController.allowsEditing = NO; 
      [appDelegate.objList setHidden:TRUE]; 
      appDelegate.strRefreshCamera = @"notupdate"; 
      [self presentModalViewController:imagePickerController animated:YES]; 
      [imagePickerController release]; 
     } 
    } 
} 

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    //flag = TRUE; 
    [self dismissModalViewControllerAnimated:YES]; 
    //[appDelegate showLoadingView]; 
    UIImage *capturedImage = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
} 

使用したいこれまで、このイメージオブジェクトを使用して何をしたいのためのコードです。

1

はこの1

が、それは:)

mPicture
関連する問題