2010-10-19 62 views
1

我初始化的UIImagePickerController這樣的:UIImagePickerController.frame是不是全屏

self.cameraController = [[UIImagePickerController alloc] init]; 

    self.cameraController.sourceType = UIImagePickerControllerSourceTypeCamera; 
    self.cameraController.showsCameraControls = NO; 
    self.cameraController.navigationBarHidden = YES; 
    self.cameraController.wantsFullScreenLayout = YES; 

的問題是,當這顯示,而不是相機控制, 我得到了一個黑條它的地方。

我該如何讓UIImagePickerController.frame佔據所有的屏幕空間?

謝謝!

回答

5

iPhone的相機具有4:3的寬高比,而iPhone的屏幕寬高比爲3:2。因此,實時相機圖片不會覆蓋整個屏幕。如果您想擺脫黑色條紋,則必須對相機視圖應用小比例變換(例如110%)。

+5

而不是硬編碼一個特定的比例因子,使用比率的比例。 (屏幕寬高比)/(圖片寬高比)=縮放比例因子,以按比例縮放4:3相機圖像以適應3:2屏幕。 (當然,不要對照片或屏幕寬高比進行硬編碼 - 獲取圖像和屏幕尺寸,並按照每個屏幕的高度劃分寬度。) – 2010-10-19 18:06:02

+0

+1好的建議,彼得。 – 2010-10-19 18:08:08

1

奧利是現貨,找出長寬比轉換。這是您可能想要實現它的代碼行。

self.cameraController.cameraViewTransform = CGAffineTransformScale(CGAffineTransformIdentity, 2, 2);