Ionic 应用程序出现奇怪的闪烁,运行 在 iOS 9

Weird flickering on Ionic app, running on iOS 9

我已经使用 Phonegap 和 Ionic Framework 为 Android 和 iOS 创建了一个应用程序,在 Android 上运行完美,但在 iOS 上特别有问题使用 iPhone 5 和 iPad(在 iPhone 6 和 4 上运行良好)。

当您点击一个按钮,使其成为后退按钮时,会显示后退动画,但会立即返回到后退按钮所在的部分。它只发生在一个部分,后退按钮在其他部分完美运行。

HTML 元素如下:

<a class="button button-icon button-positive button-positive icon ion-arrow-left-c" ng-click="atras()">

调用的函数是"atras"如下(位于模板的控制器中):

 $scope.atras = function() {
        $ionicHistory.goBack();
 };

知道如何解决这个问题吗?非常感谢您的回答!

不幸的是,iOS 9 有一些与 window.location 相关的错误会影响 router-ui 以及一些空的 href links <a href="#">,就像你的一样。

查看 Ionic 博客中的这些文章:

在那里你可以找到 link 到 iOS9 patch for angular and this for Disable App Transport Security in iOS 9

具体来说,有一个针对基于 iOS9 构建的 Ionic UIWebView 的值得注意的补丁。如果没有这个补丁,当你点击导航栏中的一些后退按钮时,你会遇到这样的闪烁问题。请为您的项目应用 ngIOS9UIWebViewPatch 然后就大功告成了。

https://gist.github.com/IgorMinar/863acd413e3925bf282c

http://blog.ionic.io/ios-9-potential-breaking-change/

添加这两个属性来防止闪烁效果:

-webkit-transform-style: preserve-3d;
-webkit-backface-visibility: hidden;

也适用于闪烁的元素,这些元素没有为相同的修复设置动画。