我正在使用 Multi-Device Hybrid App 模板和 WinJS(这是基于 Cordova)编写一个应用程序。
我已经正确设置了单页导航,并且在我的根页面中加载的第一页包含一个带有多个 PivotItems 的 Pivot。每个 PivotItem 都包含一个 ListView,其中包含几个项目,这些项目使其在小型设备(电话)上超出页面底部。
在 WP8 上,当我将 ListView 滚动到列表底部时,它会停止,但如果我继续尝试滚动越过底部,而不是 ListView 创建反弹效果,整个页面都会移动。而且它不会正确地执行反弹效果,因为它会导致 Pivot Title 被剪辑在电话屏幕顶部的状态栏下方。我可以反向滚动它,当我点击列表顶部时,我得到相同的效果......整个页面移动。
不良滚动行为仅在我触摸 ListView 区域时发生。如果我尝试垂直平移 PivotItem 标题,则不会发生任何事情。如果 ListView 全部为空(即我的视图模型已损坏),则当我触摸 ListView 区域时不会发生滚动行为。
我已经将此代码添加到我的根页面的 CSS 文件中:
body {
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
overflow: hidden;
-ms-content-zooming: none;
-ms-touch-action:none;
}
这确实停止了默认的 WP8 默认 HTML 页面反弹。我可以加载一个只包含几个文本元素和一个按钮的不同页面,它不会滚动。它对 Pivot 滚动问题没有帮助。
我尝试手动编辑我的 config.xml 文件并添加以下行:
<preference name="DisallowOverscroll" value="true"/>
它没有帮助。有人有什么建议吗?