2014-11-27 2 views
1

GTMOAuth2ViewControllerTouch를 사용하여 팝업의 Google 드라이브 로그인 화면을 표시하고 있습니다. 로그인이 완료되면 모든 것이 정상적으로 작동하고 웹보기에 동의 화면이 표시됩니다. 그러나 동의 화면 데이터의 크기는 popover (320 x ~ 460) 크기의 두 배를 초과하므로 사용자가 Accept 단추를 보려면 스크롤해야합니다. 콘텐츠의 모든 측면에는 많은 여백이 있지만, 그것 없이도 모든 것이 적합하다고는 생각하지 않습니다.Google의 동의 화면이 iPad 팝업 메뉴에 맞지 않습니다.

enter image description here

enter image description here

내가 XIB에 "규모 페이지에 웹보기를 변경 시도 : 그것은 아이폰 OS 7 (생활 크기)를 실행하는 레티 나 디스플레이 아이 패드 2에 보이는 방법은 다음과

입니다 적합 "했지만 효과가 없었다. 나는 XIB를 다른 어떤 변화도 만들지 않았다; 컨테이너보기와 웹보기 모두 "축척 채우기"입니다. 자동 레이아웃이 파일에 대해 해제되어 있습니다.

다음은 로그인보기 컨트롤러를 호출하는 방법입니다. 나는 현재 on-sceen 인 Popover를위한 컨트롤러를 받았다. 그 컨트롤러는 네비게이션 스택의 몇 층 아래에 ​​있습니다.

- (void) attemptLogin: (UIViewController *) controller 
    { 
     GTMOAuth2ViewControllerTouch *newController = nil; 

     if (![self isUserLoggedIn]) 
      { 
      newController = [[GTMOAuth2ViewControllerTouch alloc] initWithScope:kGTLAuthScopeDrive 
       clientID:_googleAppKey clientSecret:_googleAppSecret keychainItemName:_googleKeychainKey 
       delegate:self 
       finishedSelector:@selector(viewController:finishedWithAuthorizer:error:)]; 
      [[controller navigationController] pushViewController:newController animated:YES]; 
      [newController release]; 
      } 
    } 

이것은 공룡 - 살인자 소행성의 순서에서는 재앙이 아니지만, 분명히 성가신 일입니다. 제가 잘못한 일을하고 있습니까? 아니면이 멍청한 겉옷이 "가정 된"방식으로 작동하고 있습니까?

+0

관심없는 사람들이 화살 버튼을 제거하는 방법을 찾았습니까? –

+0

시도하지는 않았지만 XIB에서 단추를 삭제하는 것이 쉽습니다. (라이브러리가 아니라 앱으로 코드를 컴파일한다고 가정하십시오.) – user3806580

답변

0

은의 ViewController의의 viewDidLoad 방법에 다음 코드를 사용하여

[self.myWebView setFrame:CGRectMake(self.view.frame.origin.x, 
           self.view.frame.origin.y, 
           self.view.frame.size.width, 
           self.view.frame.size.height)]; 

이 프레임 크기에 표시 할 내용을 강제 할 것이다.

+0

이것은 작동하지 않습니다. 권한 부여보기 (Google에서 제공)는 로그인 프로세스의 두 단계 모두에 대해 단일 UIWebView를 사용합니다. 웹보기의 프레임이 정확합니다. KVO를 사용하여 webView가로드되는지 감시해야했지만 그 다음에는 항상 프레임이 올바른 것입니다. scalesPageToFit 속성을 확인한 결과, 그렇습니다. 웹보기의 scrollView 내용 크기를 강제로 시도했는데 아무 것도하지 않았습니다. 로드되는 HTML은 분명히 큰 popover에 대해 크기가 조정되며, 내 작은 크기에 맞출 수는 없습니다. – user3806580

+0

또한, 이것은 독자와 컴파일러 모두에게 비효율적 인 코드입니다. 더 좋은 방법은 [newController.webView setFrame : self.view.frame]입니다. – user3806580

0

나는이 문제를 해결하기 위해 찾은 유일한 방법은 내가 승인 뷰 컨트롤러를 만들 때 팝 오버의 크기를 변경하는 것입니다 멍한의

[newController setContentSizeForViewInPopover:CGSizeMake(768, 620)]; 

종류를하지만,이 문제를 해결합니다.

관련 문제