相同视图之间的Titanium可滚动视图

时间:2013-07-16 10:36:57

标签: view titanium appcelerator scrollable

我想显示一个包含当前日期数据的视图,我希望允许用户刷回前几天。

我的意思是,我想展示一些信息,如果用户滑动到另一天,它将是相同的设计,具有不同的数据。

最简单的方法是什么?

我正在考虑在视图参数中使用相同视图的scrollableview,并在用户更改视图时更改其数据。

我用这个:

var scrollableView = Ti.UI.createScrollableView({
    views : [view1, view1, view1],
    showPagingControl : true
});

但是这不起作用,它只显示第一个view1。

我发现的另一种方法是创建不同的视图并加载正确的视图。它有效,但我必须复制很多代码(在不同的视图中界面会相同,它只会改变数据),当然,这不是最好的方法。

你知道我怎么做吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

使用包装视图的commonJS模块,然后更改视图参数,这是一个简单的例子:

// myView.js
function MyView(title, color) {
    var self = Ti.UI.createView({backgroundColor : color});
    var label = Ti.UI.createLabel({text: 'A simple label'});
    // Add other components to your custom view
    self.add(label);
    return self;
}

// Dont forget this!
module.exports = MyView;

现在要求您使用自定义模块并在可滚动视图中使用它:

var MyView = require('MyView');
var scrollableView = Ti.UI.createScrollableView({
    views : [new MyView("View 1", "red"), new MyView("View 2", "green"), new MyView("View 3", "blue")],
    showPagingControl : true
});