簡體   English   中英

iPhone / iPad相機覆蓋視圖自動旋轉問題UIImagePickerController

[英]iPhone/iPad Camera Overlay View AutoRotation Issue UIImagePickerController

根據蘋果公司的說法,我們不能將UIImagePickerController類作為子類。 從文檔:

重要:UIImagePickerController類僅支持縱向模式。 該類旨在按原樣使用,不支持子類化。 此類的視圖層次結構是私有的,除了一個例外,不得修改。 您可以將自定義視圖分配給cameraOverlayView屬性,並使用該視圖顯示其他信息或管理攝像頭界面與您的代碼之間的交互。

但是,如果要在相機上疊加視圖,可以按以下步驟進行:

imagePickerController.cameraOverlayView = overlayView

實施相機疊加視圖后,該視圖會在iPad中自動調整。 但是,iPhone並非如此。

查詢:我們可以像在iPad中那樣在iPhone中設置cameraOverlayView的自動旋轉嗎?

如果不是,使用UIDeviceOrientationDidChangeNotification旋轉cameraOverlayView的最佳方法是什么

您可以UIImagePickerController並將其實例化。 蘋果公司說,您不應因為其他原因而取代它。 您不能更改UIImagePickerController默認控件,例如交換相機,關閉閃光燈,拍攝照片或視頻等。為此,您必須創建overlay view並應將其設置為UIImagePickerController cameraOverlayView 就是這樣,否則您可以子類化UIImagePickerController

因此,現在解決您的問題:

子類UIImagePickerController並在該類中實現以下兩個方法,例如,

 -(BOOL)shouldAutorotate{

    return NO;
}
-(UIInterfaceOrientationMask)supportedInterfaceOrientations{

    return UIInterfaceOrientationMaskPortrait;
}

然后實例化該類而不是UIImagePickerController

並且您的overlayview方向問題將得到解決。 它將始終保持縱向模式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM