2012-07-12 5 views
0

iPad의 카메라 모드에서 오버레이를 만들려고합니다. 카메라가 가로 모드 인 경우 오버레이는 전체 화면 대신 화면의 2/3 만 차지합니다. 그러나 세로 모드에서 전체 화면을 덮고 있습니다. 내 생각에 오버레이는 전체 화면을 덮고있는 것처럼 보이지 않도록 인물 크기로만 표시 될 수 있습니다.iOS 카메라 UIView는 iPad에서 전체 화면을 오버레이합니까?

UIView *overlay = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

overlay.backgroundColor = [UIColor blueColor]; 
overlay.alpha = 0.3; 
overlay.opaque = NO; 

imagePicker.mediaTypes = mediaTypes; 
imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto; 
imagePicker.modalPresentationStyle = UIModalPresentationFullScreen; 


imagePicker.cameraOverlayView = overlay; 

그러나 전체 화면을 가릴 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.

+2

[[uiscreen mainscreen] bounds]에 nslog를 넣습니다. 크기를 확인하십시오. 예 : 너비와 높이가 조경 크기를 표시합니까? 내가 알기로는 항상 내 개발 시간에 직면 해있다. 항상 –

+1

초상화를 표시하고 항상 CGRectMake (0,0,1024,768)와 같은 수동 설정을 사용하면 전체가 필요하다고 가정한다. 그것으로 덮여 화면 당신의 요구 사항에 따라 변경할 수 있습니다 –

+0

흠 ... 그것은 null을 반환합니다. – tipsywacky

답변

2

뷰 프레임의 수동 설정을 수행하십시오. 세로 또는 가로 방향으로 회전합니다.

세로 방향 CGRectMake (0,0,768,1024);

가로 방향 CGRectMake (0,0,1024,768);

+1

어떻게 작성하겠습니까? if (interfaceOrientation == UIInterfaceOrientationPortrait) 위의 CGRectMake? – tipsywacky

+1

UIView 객체를 클래스 객체로 만듭니다. 귀하의 응용 프로그램이 회전하면 "- (BOOL) shouldAutorotateToInterfaceOrientation : (UIInterfaceOrientation) interfaceOrientation" 여기에서 방향을 확인하고 방향에 따라보기 프레임을 설정할 수 있습니다. –

+0

하드 코딩은 전혀 잘못된 생각입니다. [[UIScreen mainScreen] bounds] .size 또는 다른 것으로 크기를 조정할 수 있습니다. – Vive

관련 문제