iOS 11 适配UIWebView,页面下移20的问题
2024-10-08 01:22:06
方案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(-, , , );
}
方案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;
}];
}
}
以上。
最新文章
- 多线程学习中的Tips
- Android开发环境搭建全程演示(jdk+eclipse+android sdk)
- 问题解决——Group Box控件遮挡其他控件
- 测试Swift语言代码高亮-使用highlight.js
- codeforces 459C Pashmak and Buses 解题报告
- IE下Checkbox标签的onchange事件兼容
- java synchronized静态同步方法与非静态同步方法,同步语句块
- Sql调用WebService
- PHP核心代码库中的APC缓存说明123
- MVC——母版与分部
- Ibatis中sqlmap参数map中还需要套list的情况如何写?
- 保证相同类型的MDI子窗体只会被打开一次的方法
- Qt 学习之路 2(80):定位器
- Oracle Golden Gate - 概念和机制 (ogg)
- JS复习:第十、十一章
- 2016中国大学生程序设计竞赛 - 网络选拔赛 1011	Lweb and String
- c# 存储过程取output 值
- java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart
- 《UML大战需求分析》-读后感一
- js实现EasyUI-datagrid前台分页