2012-01-14 117 views
0

在Titanium Mobile中开发。从ScrollView中删除视图

我需要从单击删除按钮时,从scrollView中删除视图。当我的按钮被点击时,我有一个自定义事件触发,scrollView侦听。我的问题是,我如何引用需要删除的视图?这些视图会动态添加到scrollView,并且没有关于视图的唯一信息。我尝试在发射自定义事件时传递视图本身,但这不起作用。我如何告诉scrollView删除哪个视图?

+0

这是可以在创建过程中分配一个唯一的标识符,您可以稍后使用 – 2012-01-14 20:55:10

+0

Like ID:myUniqueID?我想到了这一点,但我需要想出一种方法来创建一个uniqueID。我想我可以使用一个随机数。 scrollView实际上可以包含重复的项目,所以视图本身没有任何独特之处。另外,我如何找到这个观点?我循环浏览所有的scrollView儿童检查ID吗? – Chris 2012-01-14 21:04:44

+0

如果你有几个,只有一个按钮,你想删除哪个视图? – 2012-01-14 22:22:59

回答

3

当你有视图内删除按钮 - 这是小菜一碟:)只要得到它的母公司,并将其删除 - scrollView.remove(e.source.parent);

在这里,我创建了一个演示页:

var scrollView = Titanium.UI.createScrollView({ 
    contentWidth: 'auto', 
    contentHeight: 'auto', 
    top: 0, 
    showVerticalScrollIndicator: true, 
    showHorizontalScrollIndicator: true, 
    layout: 'vertical' 
}); 

var colors = ['red', 'green', 'blue', 'orange', 'purple', 'yellow']; 

for (var i = 0; i < 6; i++) { 

    var view = Ti.UI.createView({ 
     backgroundColor: colors[i], 
     borderRadius: 10, 
     width: 300, 
     height: 200, 
     top: 10, 
     id: i 
    }); 
    scrollView.add(view); 

    var deleteButton = Ti.UI.createButton({ 
     borderRadius: 3, 
     style: Ti.UI.iPhone.SystemButtonStyle.PLAIN, 
     backgroundGradient: { 
      type: 'linear', 
      colors: [ '#c7c7c7', '#686868' ], 
      startPoint: { x: 0, y: 0 }, 
      endPoint: { x: 0, y: 30 }, 
      backFillStart: false 
     }, 
     title: 'Delete view ' + i, 
     font: { fontSize: 12, fontWeight: 'bold' }, 
     color: '#fff', 
     width: 120, 
     height: 30 
    }); 
    view.add(deleteButton); 

    deleteButton.addEventListener('click', function(e) { 
     Ti.API.info(e.source.id); // use this ID 
     scrollView.remove(e.source.parent); 
    }); 

} 

Ti.UI.currentWindow.add(scrollView); 
+0

有没有办法在scrollView中获取视图(e.src.parent)索引?我想问的原因是我也想删除与此视图关联的对象。该对象全局存储在列表中。我认为视图的索引将与列表中对象的索引相同。 – Chris 2012-01-16 19:41:22

+0

这将很难得到索引,因为它不是一个TableView。最简单的方法可能是为视图设置一个ID(我更新了上面的代码),在创建和删除时将相同的ID赋给对象 - 删除具有请求的ID的对象。 – 2012-01-18 01:22:22