PhoneGap中文网

 找回密码
 立即注册
查看: 27737|回复: 7
打印 上一主题 下一主题

如何解决ios9下TAB 切换时会跳动问题?

[复制链接]

6

主题

17

帖子

74

积分

注册会员

Rank: 2

积分
74
跳转到指定楼层
楼主
发表于 2015-10-8 12:14:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TAB切换时,会看到TAB会往下跳一下。
回复

使用道具 举报

0

主题

3

帖子

34

积分

新手上路

Rank: 1

积分
34
推荐
发表于 2015-10-10 15:36:30 | 只看该作者
引入这个补丁,然后按照头注释修改APP.js、

  1. /**
  2. *
  3. * https://gist.github.com/IgorMinar/863acd413e3925bf282c
  4. *
  5. *
  6. *
  7. * ==================  angular-ios9-uiwebview.patch.js v1.1.1 ==================
  8. *
  9. * This patch works around iOS9 UIWebView regression that causes infinite digest
  10. * errors in Angular.
  11. *
  12. * The patch can be applied to Angular 1.2.0 – 1.4.5. Newer versions of Angular
  13. * have the workaround baked in.
  14. *
  15. * To apply this patch load/bundle this file with your application and add a
  16. * dependency on the "ngIOS9UIWebViewPatch" module to your main app module.
  17. *
  18. * For example:
  19. *
  20. * ```
  21. * angular.module('myApp', ['ngRoute'])`
  22. * ```
  23. *
  24. * becomes
  25. *
  26. * ```
  27. * angular.module('myApp', ['ngRoute', 'ngIOS9UIWebViewPatch'])
  28. * ```
  29. *
  30. *
  31. * More info:
  32. * - https://openradar.appspot.com/22186109
  33. * - https://github.com/angular/angular.js/issues/12241
  34. * - https://github.com/driftyco/ionic/issues/4082
  35. *
  36. *
  37. * @license AngularJS
  38. * (c) 2010-2015 Google, Inc. http://angularjs.org
  39. * License: MIT
  40. */

  41. angular.module('ngIOS9UIWebViewPatch', ['ng']).config(['$provide', function($provide) {
  42.     'use strict';

  43.     $provide.decorator('$browser', ['$delegate', '$window', function($delegate, $window) {

  44.         if (isIOS9UIWebView($window.navigator.userAgent)) {
  45.             return applyIOS9Shim($delegate);
  46.         }

  47.         return $delegate;

  48.         function isIOS9UIWebView(userAgent) {
  49.             return /(iPhone|iPad|iPod).* OS 9_\d/.test(userAgent) && !/Version\/9\./.test(userAgent);
  50.         }

  51.         function applyIOS9Shim(browser) {
  52.             var pendingLocationUrl = null;
  53.             var originalUrlFn= browser.url;

  54.             browser.url = function() {
  55.                 if (arguments.length) {
  56.                     pendingLocationUrl = arguments[0];
  57.                     return originalUrlFn.apply(browser, arguments);
  58.                 }

  59.                 return pendingLocationUrl || originalUrlFn.apply(browser, arguments);
  60.             };

  61.             window.addEventListener('popstate', clearPendingLocationUrl, false);
  62.             window.addEventListener('hashchange', clearPendingLocationUrl, false);

  63.             function clearPendingLocationUrl() {
  64.                 pendingLocationUrl = null;
  65.             }

  66.             return browser;
  67.         }
  68.     }]);
  69. }]);
复制代码
回复 支持 2 反对 1

使用道具 举报

1

主题

3

帖子

13

积分

新手上路

Rank: 1

积分
13
沙发
发表于 2015-10-8 14:59:17 | 只看该作者
同问。不知兄弟解决了没?
回复 支持 反对

使用道具 举报

6

主题

17

帖子

74

积分

注册会员

Rank: 2

积分
74
板凳
 楼主| 发表于 2015-10-8 15:09:36 | 只看该作者
OnePiece_xiaoJ 发表于 2015-10-8 14:59
同问。不知兄弟解决了没?

没有啊!就是在找解决方法。
回复 支持 反对

使用道具 举报

6

主题

17

帖子

74

积分

注册会员

Rank: 2

积分
74
5#
 楼主| 发表于 2015-10-10 18:34:27 | 只看该作者
qsuron 发表于 2015-10-10 15:36
引入这个补丁,然后按照头注释修改APP.js、

完美解决!感谢大神
回复 支持 反对

使用道具 举报

11

主题

35

帖子

175

积分

注册会员

Rank: 2

积分
175
6#
发表于 2015-11-4 18:03:57 | 只看该作者
感谢啊,总算不会乱跳了
回复 支持 反对

使用道具 举报

493

主题

2035

帖子

6894

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6894
7#
发表于 2015-11-4 23:09:45 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
8#
发表于 2018-5-28 19:14:05 | 只看该作者
qsuron 发表于 2015-10-10 15:36
**** 作者被禁止或删除 内容自动屏蔽 ****

大神,我这边ionic1.3 在ios下当输入框聚焦时页面会跳动一下,用这个不行也
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2024-4-25 18:47 , Processed in 0.038308 second(s), 33 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表