2011-12-07 13 views
1

私はUIimagepickercontrollerを使用して、写真を閲覧または撮影してサブビューに表示しています。UIimagepickercontroller

-(IBAction) getPhoto:(id) sender { 

    secondView1 = [[secondView alloc] 
       initWithNibName:@"secondView" 
       bundle:nil]; 
    UIImagePickerController * picker = [[UIImagePickerController alloc] init]; 
    picker.delegate = self; 

    if((UIButton *) sender == choosePhotoBtn) { 
     picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; 
    } else { 
     picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    } 

    [self presentModalViewController:picker animated:YES];  
    [self.view addSubview:secondView1.view]; 
} 

これはSourceTypeSavedPhotoAlbumのため正常に動作しますが、私はカメラを使用している場合、secondview1.viewは表示されません。代わりに元のビューのみを表示します。

これは私のデリゲートメソッドです:

- (void)imagePickerController:(UIImagePickerController *)picker 
     didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    secondView1.imageView.image = [info 
    objectForKey:@"UIImagePickerControllerOriginalImage"]; 
    [[picker parentViewController] dismissModalViewControllerAnimated:YES]; 
    [picker release]; 
} 

は、任意の助けをありがとう!

+0

シミュレータまたはデバイスを使用していますか?デバイスの場合、それはカメラを持っていますか? – Ilanchezhian

+0

デバイス上。カメラを持っています。私は写真を撮って「使用」を確認することができます。その後、uiimagepickercontrollerは終了しますが、secondview1.viewではなく元のビューに戻ります。 – user1084988

答えて

0

私は最終的に私がすべきことが判明:

secondView1 = [[secondView alloc] 
    initWithNibName:@"secondView" 
    bundle:nil]; 
self.view addSubview:secondView1.view]; 

デリゲート機能に。

(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    ... 
} 

イメージピッカーは、画像を選んで終了する前にそれ以外の場合は、addsubviewを呼び出すことができます。コードがどのように流れるか、そしてデリゲート関数についてもっとよく理解してください。

関連する問題