0

我正在使用带有 headerPullView 的 tableView。它工作正常,但我想在打开选项卡时显示 headerPullView,以便用户可以看到新数据已加载。

在 google 或 appcelerator 文档上找不到任何信息。

我只发现了这个:http: //developer.appcelerator.com/blog/2010/05/how-to-create-a-tweetie-like-pull-to-refresh-table.html 但这仅显示了如何更新该选项卡已加载。我正在寻找一种方法来显示当我打开该窗口时正在加载 headerPullView。

4

2 回答 2

3

您无法使用 模拟滚动,headerPullView但可以触发scroll.

无论如何,我建议创建一个headerView并将桌子高度设置为更小并远离顶部。将侦听器附加到open事件。

var headerView = Ti.UI.createView({
    top: 0,
    height: 60
});

Ti.UI.currentWindow.addEventListener('open', function(e) {
    tableView.top = 60;
    tableView.height = 400;
    Ti.UI.currentWindow.add(headerView);
    Ti.UI.currentWindow.add(tableView);
});

然后,当您第一次滚动表格时,只需将其全部设置回您需要的方式。

var scrolled = 0;
tableView.addEventListener('scroll', function(e) {
    if(!scrolled) {
        tableView.top = 0;
        tableView.height = 460;
        Ti.UI.currentWindow.remove(headerView);
        scrolled = 1;
    }
    // scroll code
});

但是,我不太确定您为什么需要这样做。在 facebook 用这种方法替换“摇动刷新”之后,我开始在几乎所有的桌面应用程序中看到它,并且开始期待它。我假设许多其他用户对此有同样的感受?

于 2011-05-09T16:37:30.030 回答
2

您可以使用 listView 代替 tableView,它已经支持拉视图

检查这个 http://docs.appcelerator.com/titanium/3.0/#!/guide/ListViews-section-37521650_ListViews-PulltoRefresh

或者你可以使用这个模块

https://github.com/jolicode/Alloy-PullToRefresh

于 2014-11-02T16:48:28.660 回答