UIWebView未涵盖横向模式下的整个视图

时间:2012-11-28 17:58:49

标签: ios ipad uiwebview landscape

我正在开发一个iPad应用程序,当用户通过登录表单进行身份验证时,它将以模态方式加载UIWebView中的网页。这很有效,但是当我将设备旋转到横向模式时,webview只能覆盖屏幕的75%:

screenshot showing the issue

以下是我的登录视图控制器的代码:

    // Load storyboard for easy instatiation of the login view controller
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
    WebViewController *webController =
    (WebViewController *)[storyboard instantiateViewControllerWithIdentifier:@"WebView"];

    // Present the embedded browser in fullscreen.
    [webController setModalPresentationStyle:UIModalPresentationFullScreen];
    [self presentViewController:webController animated:YES completion: nil];

3 个答案:

答案 0 :(得分:5)

您使用约束还是自动调整大小?如果没有,您可能想要使用它们并确保Web视图覆盖整个视图的框架。

答案 1 :(得分:1)

您要做的就是在UIWebView的{​​{1}}方法中为横向定义-shouldAutorotateToInterfaceOrientation的框架。

它是这样的,

WebViewController

答案 2 :(得分:0)

  1. 使用webView委托 2.包括这个方法
    • (void)webViewDidFinishLoad:(UIWebView *)webView { [self.webView setFrame:CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)]; }
      }
  2. 还包括这个

    • (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { [self.webView setFrame:CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)]; }