UIWebView的横向旋转不填图(UIWebView landscape rotation doe

2019-07-30 07:38发布

我有我的UIWebView的问题。 当它加载任何一个方向精细认为负荷,填满整个页面等完美

但是说,如果我在人像加载它,然后旋转设备的WebView不会在右手侧补一路,我不能为我的生命找出原因。

这是我的看法没有加载方法

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib

    if  ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortrait){

        self.measurementsWebView.frame = CGRectMake(0, 0, 320, 367);

    }else if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeLeft || [[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeRight){

        self.measurementsWebView.frame = CGRectMake(0, 0, 480, 218);
    }

    NSString *path = [[NSBundle mainBundle] pathForResource:@"measurements" ofType:@"png"];
    [measurementsWebView loadHTMLString:[NSString stringWithFormat:@"<html><body><img src=\"file://%@\"></body></html>",path] baseURL:nil];
    measurementsWebView.scalesPageToFit = YES;

}

如果我在Interface Builder看看我试图找到,让我来设置扩大宽度或任何你叫什么面板,但我能看到的是这个。

任何帮助将不胜感激

Answer 1:

除了手动设置框,你也可以设置自动调整大小面具为:

measurementsWebView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

这将调整的情况下,你在屏幕上有没有其他元素web视图(我把它它,你没有,从价值和您调整大小时使用measurementsWebView )。 或者,直接从如下图所示的笔尖:

该面具可以通过点击称为自动调整大小朝左下角的方块红柱进行设置。



Answer 2:

viewDidLoad被运行一次-视图加载时。

如果您希望在发生旋转时手动调整框架,添加代码以调整其大小在viewDidLayoutSubviews每当视图旋转时调用。

-(void)viewDidLayoutSubviews {

    [super viewDidLayoutSubviews];

    self.measurementsWebView.frame = self.view.bounds;

}


Answer 3:

在界面生成器,下拉菜单的地方说:“布局矩形”,单击它并选择“矩形框架”。

另外,您可以覆盖willAnimateRotationToInterfaceOrientation:方法在您的视图控制器和手动设置坐标/尺寸为你所做的viewDidLoad



文章来源: UIWebView landscape rotation does not fill view