热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在iOS11中在webview中向下滚动时,固定标题会消失

如何解决《在iOS11中在webview中向下滚动时,固定标题会消失》经验,为你挑选了4个好方法。

我有一个带有webview的原生iOS应用程序来显示Web内容.我的应用程序中有一个固定的标题,其中包含以下属性:

#header {
    height: 60px;
    background-color: @mainColor;
    color: #ffffff;
    padding: 10px;
    text-align: center;
    position: fixed;
    width: 100%;
    z-index: 1;
}

在我升级到iOS 11之前一切正常.现在当我向下/向上滚动时,标题在滚动期间消失,当滚动完成时,标题再次出现.

这也可以在Xcode 8中重现.



1> iPatel..:

我只是编写一些代码,一个接一个地尝试

尝试以下

self.automaticallyAdjustsScrollViewInsets = false

尝试以下

[self.webView.scrollView setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];

尝试使用以下内容 (更改您的代码)

header {
    height: 60px;
    background-color: @mainColor;
    color: #ffffff;
    padding: 10px;
    text-align: center;
    position: fixed;
    width: 100%;
    z-index: 1;
    transform: translateZ(0);
    -moz-transform: translatez(0);
    -ms-transform: translatez(0);
    -o-transform: translatez(0);
    -webkit-transform: translateZ(0);
    -webkit-font-smoothing: antialiased;
}

一些有用的链接可能对您有用!

http://ayogo.com/blog/ios11-viewport/

https://forums.developer.apple.com/thread/90472

如何修复固定模态bug中的iOS 11输入元素

https://github.com/PierBover/ios-iframe-fix

https://stanko.github.io/ios-safari-scoll-position-fixed/

来自Apple官方说明:

重要:

从iOS 8.0和OS X 10.10开始,使用WKWebView将Web内容添加到您的应用程序.不要使用UIWebView或WebView.

所以你应该尝试一次WKWebView.



2> Paolo Forgia..:

position: fixed 也 总是 被 一个 问题与iOS.似乎在iOS的每个版本中,问题仍然存在.现在,我找不到有关应用程序从iOS 10到11的行为更改的任何内容,您可以考虑将此报告为错误 ; 另一方面,看到遇到这个问题的大多数人以及影响或多或少影响iOS的所有最新版本的事实我建议不要使用position: fixed.

最常见的解决方法是transform: translateZ(0),这不仅适用于iOS并且可以防止"任何可能的闪烁,它还会强制浏览器使用硬件加速来访问GPU以使像素飞行.它也可以在没有-webkit-iOS 9 前缀的情况下工作.


不适合我的情况:(这个元素是位置:相对;
显然这个解决方案一直工作到iOS 11,当我找到一个解决方案时,我会更新这个答案.感谢您的反馈

3> calle..:

我在为iOS构建的Cordova项目中遇到了类似的问题,该项目使用了webview.Cordova默认使用UIWebView作为其webview引擎,我尝试了此线程和许多其他人提到的所有可能的修复.最后,我们唯一的解决方案是将webview引擎从UIWebView更改为WKWebView(https://developer.apple.com/documentation/webkit/wkwebview).使用Cordova,使用插件引入WKWebView非常简单https://github.com/apache/cordova-plugin-wkwebview-engine

在介绍WKWebView并处理它导致的一些问题后,我们不再遇到在iOS 11中滚动时闪烁或消失的固定定位元素.



4> Dilip..:

我们遇到了类似的问题,并通过以下2个插件得到修复

https://github.com/apache/cordova-plugin-wkwebview-engine https://github.com/TheMattRay/cordova-plugin-wkwebviewxhrfix

第一个插件将默认WebView更改为WKWebView,第二个插件为我们在使用WKWebView时看到的CORS问题提供修复.


推荐阅读
author-avatar
lnssm
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有