Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 12th, 2012  |  syntax: None  |  size: 3.03 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. iPhone crash randomly when calling a camera?
  2. - (IBAction) getCamera
  3. {
  4.     // set up our camera overlay view  
  5.     // tool bar - handy if you want to be able to exit from the image picker...
  6.     UIToolbar *toolBar=[[UIToolbar alloc] initWithFrame:CGRectMake(0, 480-44, 320, 44)];
  7.  
  8.     UIBarButtonItem *spaceItem  = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace  target:nil action:nil] autorelease];
  9.     UIBarButtonItem *spaceItem1  = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace  target:nil action:nil] autorelease];
  10.     UIBarButtonItem *cancelItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel  target:self action:@selector(cancelPickingImag)] autorelease];
  11.     UIBarButtonItem *cameraItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera  target:self action:@selector(finishedAugmentedReality)] autorelease];
  12.  
  13.     spaceItem.width  = 2.0;
  14.     spaceItem1.width = 55.0;
  15.     NSArray *items=[NSArray arrayWithObjects:spaceItem,cancelItem,spaceItem1,cameraItem,nil];
  16.     [toolBar setItems:items];
  17.  
  18.     // create the overlay view
  19.     overlayView=[[OverlayView alloc] initWithFrame:CGRectMake(0, 300, 320, 480-44)];
  20.  
  21.     // important - it needs to be transparent so the camera preview shows through!
  22.     overlayView.opaque=NO;
  23.     overlayView.backgroundColor=[UIColor clearColor];
  24.  
  25.     // parent view for our overlay
  26.     UIView *parentView=[[UIView alloc] initWithFrame:CGRectMake(0,0,320, 480)];
  27.     [parentView addSubview:overlayView];
  28.     [parentView addSubview:toolBar];
  29.     [parentView addSubview:lbl];
  30.     [parentView addSubview:overlayGraphicView];
  31.  
  32.     // configure the image picker with our overlay view
  33.     //UIImagePickerController *picker=[[UIImagePickerController alloc] init];
  34.  
  35.     if ([UIImagePickerController isSourceTypeAvailable:
  36.          UIImagePickerControllerSourceTypeCamera])
  37.     {
  38.         imagePicker = [[UIImagePickerController alloc] init];
  39.         imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
  40.  
  41.         // hide the camera controls
  42.         imagePicker.showsCameraControls=NO;
  43.  
  44.         imagePicker.delegate = self;
  45.         //imagePicker.allowsImageEditing = NO;
  46.  
  47.         // and put our overlay view in
  48.         imagePicker.cameraOverlayView=parentView;
  49.     }
  50.     else
  51.     {
  52.         imagePicker = [[UIImagePickerController alloc] init];
  53.         imagePicker.delegate = self;
  54.         imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  55.         imagePicker.mediaTypes = [NSArray arrayWithObjects:
  56.                                   (NSString *) kUTTypeImage,
  57.                                   nil];
  58.         imagePicker.allowsEditing = NO;
  59.  
  60.     }
  61.  
  62.     [self presentModalViewController:imagePicker animated:YES];
  63.  
  64.     //Free memory
  65.     [imagePicker release];//,imagePicker =nil;
  66.     [parentView release], parentView=nil;
  67.     [overlayGraphicView release], overlayGraphicView= nil;
  68.     [lbl release], lbl=nil;
  69.     [overlayView release];//, overlayView =nil;
  70.     [toolBar release], toolBar=nil;
  71. }