hello大家我正面臨一個問題。 在我的應用程序中,我想剪裁從相機拍攝的圖像區域。 因此,我使用的是UIImagePickerController &它是cameraOverlayView。ios UIImagePickerController攝像頭覆蓋視圖的狀態欄屬性
問題是,在iPhone 4S,iPad,iPod - 「狀態欄」不透明。 在第二臺iPad上,相機中的「狀態欄」是透明的。 我不知道如何訪問UIImagePickerController的狀態欄?
在我的代碼中,我做了一些高度計算,在透明度的情況下,我錯誤地減去了額外的大小。我無法弄清楚「拍攝區域」內部的圖像大小。
下面是一些代碼:
+(CGFloat) statusBarYSize
{
CGSize statusBarSize = [[UIApplication sharedApplication] statusBarFrame].size;
return MIN(statusBarSize.width, statusBarSize.height);
}
+(CGRect)maxRectForPicker:(UIImagePickerController*)picker
{
CGRect maxFrame = picker.cameraOverlayView.frame;
#warning @"Check that coefficient is equal to such value everywhere...)"
if (!picker.toolbar.translucent)
maxFrame.size.height -=([self statusBarYSize]*2.5); // If transparent should not be subtracted!
return maxFrame;
}
這裏是圖片鏈接:
iPhone的形象。相機的尺寸爲全屏 - 狀態欄。
https://www.dropbox.com/s/7b405h5cavrf819/CorrectSubstraction.jpg
iPad的形象。相機佔據整個屏幕。
https://www.dropbox.com/s/7rekl8xen1z3s9b/ShouldNotSubstract.jpg
許多在此先感謝。 Siarhei