2012-12-28 2 views
0

어디서나이 문제에 대한 해결책을 찾을 수 없었습니다. 스토리 보드를 사용하여 iOS 6 앱을 작성하는 데 Xcode 4.5를 사용하고 있습니다. Navigation Controller를 사용하여 웹 사이트를 표시하기 위해 UIWebView를 사용하는 탐색 막대를 포함한 여러보기 컨트롤러 사이를 이동합니다. AppDelegate 및 다양한 ViewController 파일에 코드를 추가하여 앱에서 대부분의 장면에 대해 세로로보기를 제한합니다 (별다른 차이가 없어 보이기 때문에). 그러나 웹 사이트의 가로보기를 허용합니다. Info.plist가 구성되어있어 4 방향 모두를 허용합니다.UIWebView는 가로 방향으로 볼 때 세로 치수를 유지합니다.

모든 것이 UIWebView 장면에서 잘 작동합니다. 한 가지를 제외하면 : 회전, 스크롤 및 확대/축소를 포함하여 - 세로에서 가로로 회전 할 때 웹 사이트의 가로 크기는 세로보기의 가로 크기로 고정되어 웹 사이트의 오른쪽에 큰 흰색 공백이 표시됩니다. 장면 (아래 이미지 참조). 속성 검사기에서 View Controller 아래에 Layout : Wants Full Screen을 선택하여 UIWebView 상단에 작은 (1/4 ") 공백을 고정했지만이 문제를 해결할 수는 없지만이 문제를 해결할 수는 없습니다 ..

관련 코드를 제공 할 수 있습니다. .? 또는 스토리 보드 설정이 필요한 경우 누군가가 도와 드릴까요 감사합니다

Portrait view

Landscape view

+0

을 사용하여 함께 IBOutlet있는 UIWebView입니다 , 웹 페이지의 스크롤바가 나타나고 웹 페이지와 공백 사이를 이동합니다. 그리고 공백 자체가 위아래로 스크롤됩니다 (스크롤 바를 가지고 있음). 위의 작은 회색 영역과 공백 아래의 큰 검은 영역이 나타납니다. 마치 화면에 두 개의 별도 정의 된 영역이있는 것처럼. 가로 모드의 가로 크기가 세로 크기와 동일한 크기로 제한되어 있습니다. Size Inspector에서 Struts & Springs 및 다른 설정을 변경하려고 시도했지만 효과가 없습니다. – steveald

+0

그리고 내가 설명한 동작을 기반으로 여기에 인터페이스 빌더에서 생성 된 코드와 코드에서 생성 된 두 가지 웹 뷰가 제안되었습니다. 그게 뭔가있을 거라고 생각하니? – steveald

답변

0

나는이 코드를 추가 해결했다 때의 viewDidLoad 방법에 응용 프로그램이로드 :.

,321 0

그런 다음 뷰 컨트롤러에이 추가

- (void) orientationChanged:(NSNotification *)note 
{ 
    UIDevice * device = note.object; 
    switch(device.orientation) 
    { 
     case UIDeviceOrientationPortrait: 
      _displayWeb.frame = CGRectMake (0, 0, 768, 1024); 
      break; 

     case UIDeviceOrientationPortraitUpsideDown: 
      _displayWeb.frame = CGRectMake (0, 0, 768, 1024); 
      break; 
     case UIDeviceOrientationLandscapeLeft: 
       _displayWeb.frame = CGRectMake (0, 0, 1024, 768); 
      break; 
     case UIDeviceOrientationLandscapeRight: 
      _displayWeb.frame = CGRectMake (0, 0, 1024, 768); 
      break; 
     default: 
      break; 
    }; 
} 

_displayWeb 내가 위아래로 스크롤 할 때 그런데이, 풍경 모드, 또한 엑스 코드를 4.6.1