2014-07-19 37 views
0

我在子視圖(280x240)上使用UIImagePickerController。我使用此代碼:UIImagePickerController在子視圖上和在UIImageView上顯示圖片

imagePicker = [[UIImagePickerController alloc] init]; 
[imagePicker setVideoQuality:UIImagePickerControllerQualityType640x480]; 
[imagePicker setDelegate:self]; 
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera]; 
[imagePicker setCameraFlashMode:UIImagePickerControllerCameraFlashModeAuto]; 
[imagePicker setShowsCameraControls:NO]; 
[imagePicker viewWillAppear:YES]; // trickery to make it show 
[imagePicker viewDidAppear:YES]; 

[self.borderView addSubview:imagePicker.view]; //borderView size is 280x240 

我正在拍攝圖像選取器原始圖像,我只想在子視圖(borderView)上顯示區域。我能怎麼做?

回答

0
try this. 
if ([UIImagePickerController  isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) 
{ 
    imagePicker = [[MyImagePickerController alloc]init]; 
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    imagePicker.delegate = self; 
    imagePicker.allowsEditing = YES; 
    imagePicker.showsCameraControls=YES; 
    [self presentViewController:imagePicker animated:YES completion:^{ 
     NSLog(@"Completed"); 
    }]; 

and then call delegate method of UIImagePickerController 

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
capturedPicImageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
[capturedPicImageView sizeToFit]; 
capturedPicImageView.contentMode = UIViewContentModeScaleAspectFill; 
capturedPicImageView.image = [self resizeAndStoreImages:capturedPicImageView.image]; 
UIImageWriteToSavedPhotosAlbum(capturedPicImageView.image, nil, nil, nil); 
}