2

我是钛的新手。

我已经查看了 3 个视图,并希望在iPhone 应用程序的按钮单击时隐藏显示该视图。

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

4

2 回答 2

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();
于 2013-05-13T17:34:54.007 回答
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;
});

您可以将 opacity 设置为 0 ,即使视图的 visible 属性设置为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);
});
于 2013-05-14T08:36:20.033 回答