2013-10-13 1 views
0

iOS 응용 프로그램에서는 표준 컨트롤러 인 MFMessageComposeViewController 및 UIImagePickerController가 있습니다.Apple의 컨트롤러가 iOS7에 제대로 표시되지 않습니다.

하지만 그들은 둘 다 이상한 탐색 모음을 제공합니다.

enter image description here

enter image description here

enter image description here

이 문제를 어떻게 해결할 수 있습니까? 컨트롤러를

UIImagePickerController를 제시하기위한

UPD 코드 :

UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init]; 
    cameraUI.sourceType = sourceType; 
    cameraUI.allowsEditing = YES; 
    cameraUI.delegate = self; 
    [self presentViewController:cameraUI animated:YES completion:nil]; 

MFMessageComposeViewController는 :

MFMessageComposeViewController *messageViewController = [[MFMessageComposeViewController alloc] init]; 
    if([MFMessageComposeViewController canSendText]) { 
     messageViewController.view.backgroundColor = [UIColor whiteColor]; 
     messageViewController.messageComposeDelegate = self; 
     recipient= [NSStringMask maskString:recipient withPattern:@"\\+(\\d{1}) \\((\\d{3})\\) (\\d{3})-(\\d{2})-(\\d{2})"]; 
     messageViewController.recipients = @[recipient]; 
     messageViewController.body = body; 
     [self presentViewController:messageViewController animated:YES completion:nil]; 
    } 
+0

정확히 무엇이 이상합니까? https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/ – Popeye

+0

@Popeye를 읽으셨습니까? 바에 이상한 줄이 보일 수 있습니다. 그리고 모든보기에서 크기가 조정되지 않는 MFMessage 테이블에서 –

+0

이상한 navbar가 아닙니다. 새로운 statusBar가 transluscent이므로 화면의 맨 위에서 뷰가 시작됩니다 (20 개가 아님). 회색 선이 다음과 같은 프레임을 가진 뷰인지 확인하십시오 :'(0, 40, 320, 1) – KIDdAe

답변

1

this question를 참조하십시오. 나는 두 번째 대답을 사용했는데, 첫 번째 대답이 나에게도 도움이 될 것으로 생각된다.

+0

이것은 대단해! –

2

아이폰 OS 7에서, 상태 표시 줄 및 탐색은 기본적으로 반투명입니다. iOS 6에서와 같이보기를 '정상'으로 작동 시키려면 발표 할 컨트롤러에 추가해야합니다.

if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) 
     self.edgesForExtendedLayout = UIRectEdgeNone; 

보기의 변경 사항에 대해 자세히 읽으려는 경우. 이 게시물을 확인하십시오. 나는 그것의 좋은 개요를 찾았습니다.

http://www.brianjcoleman.com/ios7-weve-got-a-problem/

+0

세관 컨트롤러에 좋은 소리입니다. 하지만 나는 애플의 컨트롤러를 사용한다. 나는 UIImagePickerController에서 상속하려고합니다. 이 코드를 추가하되 변경 사항은 없습니다. –

+0

인스턴스를 만들 때 넣을 수 있습니다. self를 cameraUI로 바꿉니다. 그래서 if ([cameraUI respondsToSelector : @selector (edgesForExtendedLayout)]) cameraUI.edgesForExtendedLayout = UITectEdgeNone; – mashdup

+0

도움이되지 않습니다. 어쩌면 plist에 뭔가 ?? 또는 .. 나는 모른다 ( –