【问题标题】:Titanium scrollable view between same views相同视图之间的钛可滚动视图
【发布时间】:2013-07-16 10:36:56
【问题描述】:

我想显示一些关于当天的数据的视图,并且我想允许用户滑动回到前几天。

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

最简单的方法是什么?

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

我用这个:

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

但这不起作用,它只显示第一个视图1。

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

你知道我该怎么做吗?

提前致谢

【问题讨论】:

    标签: view titanium appcelerator scrollable


    【解决方案1】:

    使用包装视图的 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
    });
    

    【讨论】:

    • 非常感谢。我已经尝试过了,但收到一条错误消息:“[object Object]”不是构造函数。问题是什么?谢谢
    • 糟糕,我忘了添加module.exports.. 用编辑后的代码试试!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多