zoukankan      html  css  js  c++  java
  • iOS 11 适配UIWebView,页面下移20的问题

    方案1:

    AppDelegate文件

    didFinishLaunchingWithOptions()中添加如下代码

        if (@available(iOS 11.0, *)) {
            [[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
        }

    方案2:

    若按照<方案1>设置完依然存在UIWebView位置下移20pt的问题,那么在根控制器(vc、navigationController、tabBarController)的viewDidLoad()中添加如下代码

        if (@available(iOS 11.0, *)) {
            self.additionalSafeAreaInsets = UIEdgeInsetsMake(-20, 0, 0, 0);
        }

    <方案2>stackoverflow 

    方案3: (推荐)

    - (void)viewDidLayoutSubviews {
        [super viewDidLayoutSubviews];
    
        // 适配iOS_11中UIWebView内容下移20的问题
        if (@available(iOS 11.0, *)) {
            // safeAreaSetted通过一个BOOL属性来标记是否已适配
            if (safeAreaSetted) {
                return;
            }
            CGFloat top =self.view.safeAreaInsets.top;
            [self.web_main mas_updateConstraints:^(MASConstraintMaker *make) {
                make.top.mas_offset(-top);
                safeAreaSetted = YES;
            }];
        }
    }        
    

    以上。

  • 相关阅读:
    python中文编码
    Python习题纠错1
    Python中的变量
    Python之注释
    python初步学习
    java输入数据并排序
    五月最后一天
    @component注解
    多线程回顾
    赖床分子想改变--
  • 原文地址:https://www.cnblogs.com/dev1024/p/8081726.html
Copyright © 2011-2022 走看看