只有在GWT ScrollPanel中完成触摸结束后才会进行滚动

时间:2013-09-24 12:51:31

标签: ipad gwt scroll touch mgwt

我正在使用GWT 2.4。 在ipad(ios 7)中查看Web应用程序时,滚动会有延迟。 滚动事件仅在触摸结束事件完成后触发,从而使其有时看起来没有响应。当我在滚动已经发生时尝试滚动时,滚动也会冻结。有没有人有同样的问题?请帮帮我。

protected void addContentPane()
{
        ScrollPanel touchScroller = new ScrollPanel();
        touchScroller.setStyleName("touchScrollContainer");
        touchScroller.setSize((width - 2) + "px", contentPaneHeight + "px");
        touchScroller.getElement().setId(tabID);
        touchScrollPane = new HTML("", true);
        touchScrollPane.setHTML("A big boring String....");
        touchScroller.setWidget(touchScrollPane);
        contentPane.add(touchScroller);
    }       
}

2 个答案:

答案 0 :(得分:0)

这是我的代码,它直接来自showcase。 正如我所说,我测试了GWT 2.5.1,mgwt 1.1.2,iOS7

public ScreenViewA(String id, boolean isOptions) {
    main = new LayoutPanel();

    scrollPanel = new ScrollPanel();
    scrollPanel.setScrollingEnabledX(false);

    headerPanel = new HeaderPanel();
    title = new HTML();
    headerPanel.setCenterWidget(title);
    headerBackButton = new HeaderButton();
    headerBackButton.setBackButton(true);
    headerBackButton.setVisible(!MGWT.getOsDetection().isAndroid());

    headerMainButton = new HeaderButton();
    headerMainButton.setRoundButton(true);

    headerPanel.setLeftWidget(headerBackButton);

    main.add(headerPanel);


    scrollPanel.setUsePos(MGWT.getOsDetection().isAndroid());
}

答案 1 :(得分:0)

稍微调试了javascript之后,我发现我在项目中包含的某些罐子导致了延迟。 jar是atmosphere-gwt-client-1.0.18.jar。

还发现我在CSS中使用带有输入类型文本框的ACTIVE导致问题。当文本框处于活动状态时,我用它来删除webkit浏览器中显示的轮廓。