• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 固定位置在 iOS10 上的 Google App 中无法正常工作

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:30:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

背景

有一个 iOS 应用程序,名为“Google - 专为移动设备制作的搜索”(它是该应用程序中的某种内部浏览器)。我们的团队被要求支持它。

我们有一个按钮,应该放在 View 的底部,所以我们选择了 position: fixedbottom: 60px 来满足这个要求。

环境

设备:iPhone7 iOS:10.3.3 古尔应用:33.0.164895372

问题

Safari:工作 Chrome :工作 谷歌应用程序:不工作。似乎 google-app 的内部浏览器永远不知道正确的视口(viewport)高度,在垂直滚动时,按钮要么显示在正确的位置,要么只是丢失(低于实际视口(viewport)底线)

I even tried position: absolute with a parent container(full size of the screen), but no luck

以前有人见过这个问题吗?我们应该如何解决它?



Best Answer-推荐答案


我在 iOS 上的 Google App 中遇到了同样的问题。一个 100% 高度的网站,上面和下面都有绝对定位的元素。

原因

Google App 中的视口(viewport)高度被正确检测到,但默认情况下,Google App 会将其地址栏放在网站上方,并在底部其他栏也放在网站上方。因此,这些属于 Google 应用的元素就像您网站上的绝对定位元素。

但是,当您打开网站时,Google 应用会“向下滚动”一点网站,以便网站顶部位于地址栏下方(否则您的网站顶部将被隐藏。但这会插入整个像向下 30px 的网站,对于 100% 高度的网站,它看起来像视口(viewport)是 100% + 30px。当您滚动一点时,顶部的地址栏和底部的另一个栏消失,网站将显示完美。

解决方法

向主体添加一个指令,将应用程序的高度重新调整为视口(viewport)的内部高度。在我的情况下工作。

<body force-full-height>
      <!-- Your content -->
</body>

...

(function () {
    var app = angular.module('my.directives', []);

    app.directive('forceFullHeight', forceFullHeight);

    forceFullHeight.$inject = [
        '$window',
        '$rootScope'
    ];

    function forceFullHeight($window, $rootScope) {
        return {
            restrict: 'A',
            link: function link(scope, element, attrs) {
                function onResize() {
                    element.css('height', $window.innerHeight + 'px');
                };

                function cleanUp() {
                    angular.element($window).off('resize', onResize);
                }

                angular.element($window).on('resize', onResize);
                scope.$on('$destroy', cleanUp);

            scope.$on('$viewContentLoaded', onResize());
            }
        };
    }
})();

关于ios - 固定位置在 iOS10 上的 Google App 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45730409/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap