Iphone x失去了我的底部工具栏。如何将视图设置为安全布局区域?

时间:2018-03-02 16:55:33

标签: ios objective-c iphone-x

我在我的应用上使用了wk webview和我自己的工具栏。我已将webview顶部的约束设置为**安全布局区域**,如a中所述    https://medium.com/@hassanahmedkhan/playing-it-safe-with-safe-area-layout-guide-b3f09bdc71fe 和以下图片: enter image description here

我的iphone X图像看起来如下,顶部和底部有额外的空白区域,我错过了我的底部工具栏。 **请注意,黑色区域被封锁,以免显示位置。这是典型的谷歌地图。 **

enter image description here

我希望它看起来像(注意:底部条和正确的配合 - 在iphone x版本上没有空白区域。)

enter image description here

我设置网页框架大小(顶部)的代码如下所示     enter image description here 有没有办法将我的视图设置到安全布局区域/框架本身?

同样,我将约束设置为安全布局区域,如上面的超链接所述。我需要做些什么来纠正iphone x版本? (注意:当我说的正确时,我的意思是

  1. 删除顶部空白区域
  2. 删除底部空白区域
  3. 我的工具栏在底部的iphone 7版本中显示

    谢谢。

1 个答案:

答案 0 :(得分:0)

我的工具栏出现了。我还有额外的白色空间,yuk!如果有人对如何修复有任何想法,我们将不胜感激。

我将代码更改为:

   // Iphone x does not show tool bar and has extra padding so need to change
UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window];

    CGFloat top = 0 ;
    CGFloat bottom = 0 ;
    bool iphoneX = NO;
    if (@available(iOS 11.0, *)) {
        top = mainWindow.safeAreaInsets.top ;
        bottom = mainWindow.safeAreaInsets.bottom ;
        if (top > 0.0) { //only have on iphonex where not zero
            iphoneX = YES;
        }
    }
    if (iphoneX)
    {
        rightSizeFrame.size.height = mainWindow.frame.size.height - top - bottom ;// notice subtracting the tool bar height instead of top and bottom did not work! - ( 1*TOOLBAR_HEIGHT) ; // need the bottom to see the tool bar not sure why
        rightSizeFrame.origin.y = 0 ; // no top whitespace
    }


    // will this set the right size aand POSITION
    [[ self webView] setFrame:rightSizeFrame] ;

    // then stick the new webView8 into the frame
    _webView8 = [[WKWebView alloc] initWithFrame:self.webView.frame
                                  configuration:configuration];

我需要高度才能从窗框中移除底部和顶部,以便显示我的工具栏。不幸的是,就像我第一篇文章中的图片一样 - 我仍然在网页视图的顶部和下方留出了额外的空白区域。现在我在工具栏的底部有灰色空间。它看起来很糟糕,但至少是功能性的。有没有人有任何想法为什么额外的白色和灰色空间?我真的很惊讶我没有收到任何答案。我错过了一些明显的东西吗