someView.visible = true在Titanium中不起作用

时间:2013-06-19 16:47:57

标签: titanium appcelerator

我有一个视图设置为在单击按钮时显示。

这只有在按钮被点击一次后才有效。

所以它有效但不应该如此。第一次点击按钮。

稍后在代码BTW中创建视图后,我将视图添加到tableView。

这里有一些代码可以看......

var vLabel = Ti.UI.createView({
    backgroundColor : 'white',
    width : '100%',
    height : 46,
    bottom : 25
});
var topBorderView = Ti.UI.createView({
    backgroundColor : '#d8d8d8',
    width : '100%',
    height : 1,
    top : 0
});
var aLabel = Ti.UI.createLabel({
    backgroundColor : 'white',
    objName : 'aLabel',
    text : "All Points - Takes a few moments to load.",
    font : {
        fontSize : 12
    },
    color : '#df0101',
    backgroundPaddingTop : 5,
    backgroundPaddingBottom : 3,
    left : '5%',
    width : '90%',
    height : 42,
    top : 2,
    zIndex : 6000,
    textAlign : Ti.UI.TEXT_ALIGNMENT_CENTER
});

vLabel.add(topBorderView);
vLabel.add(aLabel);

sortButton.addEventListener('click', function(e) {
    vLabel.visible = 1;
    vLabel.show();

    var loaders = getLoader();
    tableView.add(loaders);
    loaders.start();

    var tempRows = [];

    if (content.uid == 998) {

        if (e.index == 0) {
            tempRows = sortAllPoints(content, e.index);
            loaders.stop();
            vLabel.visible = false;
            tableView.remove(loaders);
            tableView.setData(tempRows, {
                animationStyle : Titanium.UI.iPhone.RowAnimationStyle.NONE
            });
            rowMainData = tableView.data;
            SearchBar.value = '';
        } else {
            tempRows = sortAllPoints(content, e.index);
            loaders.stop();
            vLabel.visible = false;
            tableView.remove(loaders);
            tableView.setData(tempRows, {
                animationStyle : Titanium.UI.iPhone.RowAnimationStyle.NONE
            });
            rowMainData = tableView.data;
            SearchBar.value = '';
        }
    }
}); 

任何人都有任何线索,为什么视图显示在第二个按钮点击但不是第一个? 其他一切都可以正常工作,例如。装载机动画

非常感谢, 乔治。

2 个答案:

答案 0 :(得分:1)

侧面思考!这就是你所需要的。我已将视图的位置设置为相对于tableView的底部。这工作虽然表中没有任何内容,例如。它正在加载或整理内容。答案是使其相对于顶部的位置因此无论内容是否被加载或被分类,它始终是可见的。睡觉对这种事情有好处!

答案 1 :(得分:0)

使用setVisible方法:

someView.setVisible = true