2009-12-26 3 views
0

내가보기 계층 구조를 가지고있다.다시 사용 UIImagePickerController.cameraOverlayView

objectView를 UIImagePickerController의 cameraOverlayView 속성에 전달하고 있습니다. 일단 ImagePicker가 완료되면 bgView에서 이미지를 업데이트하고 UIImagePickerController에 전달 된 objectView를 포함한 뷰 트리를 overlayView로 계속 표시하려고합니다.

문제는 UIImagePickerController를 닫기 위해 dismissModalViewControllerAnimated를 호출 한 후 UIImagePickerContoller가 숨기는 것처럼 objectView가 나타나지 않는 것입니다. 나는 디버거를 체크인했는데 그것은 처리되지 않았다. 포인터가 여전히 유효합니다. 그러나 그 견해는 보이지 않습니다.

내가 잘못하고 있을지도 모르는 아이디어가 있습니까?

감사합니다, 에디

코드의 비트 내가 뭘 무엇을 보여주기 위해 여기에

: myViewController.m에서

:

- (void)loadView { 
CGRect rect = self.navigationController.view.bounds; 
compView = [[UIView alloc] initWithFrame:rect]; 
bgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Storage/dummy_bg.png"]]; 

objectView = [[PropImageView alloc] initWithImage:[UIImage imageNamed:@"Storage/rasta.png"]]; 

[objectView setUserInteractionEnabled:YES]; 
[objectView setMultipleTouchEnabled:YES]; 
[compView addSubview:bgView]; 
[compView addSubview:objectView]; 
self.view = compView; 
[self placeObject]; 
[objectView release]; 
[bgView release]; 
[compView release]; 

} 

- (void) placeObject 
{ 
NSLog(@"camera button pressed"); 

// make sure camera is avaialble before setting it as source 
// 

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { 
#if !TARGET_IPHONE_SIMULATOR 
    UIImagePickerController* picker = [[UIImagePickerController alloc] init]; 

    picker.sourceType = UIImagePickerControllerSourceTypeCamera; 

    picker.delegate = self; 
    picker.allowsEditing = NO; 
    picker.view.hidden = NO; 
    picker.cameraOverlayView = objectView; 
    [self presentModalViewController:picker animated:NO]; 
    [picker release]; 

#endif 
} 


// from PickImageAppDelegate.m 
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo 
{ 
// Dismiss the image selection, hide the picker and 
[picker dismissModalViewControllerAnimated:YES]; 
bgView.image = [self rotateImage:image byOrientationFlag:UIImageOrientationRight]; 
} 

답변

0

[선택 도구는 dismissModalViewControllerAnimated : YES];

되어야

는 [자기 dismissModalViewControllerAnimated : YES];

관련 문제