2013-08-19 3 views
1

안녕하세요 모두 저는 문제가 있습니다. 내 앱에서 카메라에서 찍은 이미지 영역을 자르고 싶습니다. 따라서 UIImagePickerController를 사용하고 있습니다. & 카메라 오 버 레이 뷰입니다.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; 
} 

이미지에 링크입니다 : 여기

몇 가지 코드입니다. 카메라의 전체 화면 크기 - 상태 표시 줄이 있습니다.

https://www.dropbox.com/s/7b405h5cavrf819/CorrectSubstraction.jpg

아이 패드의 이미지. 카메라가 전체 화면을 차지합니다. 사전에

https://www.dropbox.com/s/7rekl8xen1z3s9b/ShouldNotSubstract.jpg

많은 감사합니다. Siarhei

답변

0

다음과 같은 방법으로 해결책을 찾았습니다. 특성을 파악하는 대신. 카메라로부터의 화상의 종횡비와 화면의 종횡비를 계산합니다. 그 후에 나는 네이티브 애스펙트 배급을 유지하면서 이미지를 축소합니다. 카메라의 표준 막대 높이를 찾을 수 있습니다.

관련 문제