2012-07-12 65 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

放的NSLog爲[[uiscreen mainscreen]界限]的檢查它的大小即寬度和高度不它顯示landscap大小?據我所知,我面對我的開發時間,它停留或返回畫像所有的時間 – 2012-07-12 09:40:49

+1

,如果它顯示畫像大小所有的時間只需要使用像'CGRectMake(0,0,1024,768)手動設置;'假設你需要充分屏幕覆蓋它,你可以根據你的要求改變它 – 2012-07-12 09:43:30

+0

嗯......它返回null。 – tipsywacky 2012-07-12 09:44:40

回答

2

做視圖幀手動設置。當它旋轉到肖像或風景。

對於肖像 CGRectMake(0,0,768,1024);

對於風景 CGRectMake(0,0,1024,768);

+1

你會怎麼寫這個聲明呢? if(interfaceOrientation == UIInterfaceOrientationPortrait)上面的CGRectMake? – tipsywacky 2012-07-12 09:54:38

+1

創建UIView對象作爲類對象。當您的應用旋轉時,您將在 中得到響應「 - (BOOL)shouldAutorotateToInterfaceOrientation :(UIInterfaceOrientation)interfaceOrientation」 此處您可以檢查方向並根據方向設置視圖fram – 2012-07-12 09:56:06

+0

對任何內容進行硬編碼是一個非常糟糕的主意。您可以通過[[UIScreen mainScreen]邊界] .size或其他任何東西來調整大小。 – Vive 2013-09-20 13:19:54