如何在Titanium中隐藏/显示视图?

时间:2013-05-13 09:58:48

标签: iphone titanium titanium-mobile

我是Titanium的新手。

我已经采取了3种观点,并希望隐藏显示该观点按钮点击iPhone应用。

知道如何实现这个目标吗?

2 个答案:

答案 0 :(得分:1)

你可以很容易地隐藏/显示一个视图,这是一个自包含的例子:

var win = Ti.UI.createWindow();
var view = Ti.UI.createView({
   width : 100,
   height : 100,
   backgroundColor : 'red' 
});

var redView = Ti.UI.createView({
    title : 'Hide / Show Red View',
    bottom : 0,
    width : 200,
    height : 35
});
var visible = true;
button.addEventListener('click', function(e) {
   if(visible)  {
       redView.hide();
   } else {
       redView.show();
   }
   visible = !visible;
});

win.add(redView);
win.add(button);
win.open();

答案 1 :(得分:1)

虽然另一个答案肯定是有用的,但另外两个(稍微)不同的方法可以做同样的事情,以防万一当你使用show()和hide()时,Titanium会翻转。

//Method 1, using part of Josiah Hester's code snippet
var visible = true;
button.addEventListener('click', function(e) {
   if(visible)  {
       redView.setVisible(false); //This is the exact same thing as hide() method
   } else {
       redView.setVisible(true); //This is the exact same thing as show() method
   }
   visible = !visible;
});

您可以将不透明度设置为0,即使视图的可见属性设置为 true ,由于完全不存在不透明度,仍然不可见。如果您希望某些内容可见但不可点击(通过在不透明度为零的视图后面放置视图,这非常有用。

//Method 2, same code section
var opacity = 0;
button.addEventListener('click', function(e) {
   if(opacity)  {
       redView.setOpacity(0); //This is the NOT the same thing as hide() method
   } else {
       redView.setOpacity(1); //This is the NOT thesame thing as show() method
   }
   opacity = Math.abs(opacity - 1);
});