在Titanium Mobile中开发。
单击删除按钮时,我需要从scrollView中删除视图。单击我的按钮时会触发自定义事件,scrollView会监听该事件。我的问题是,如何引用需要删除的视图?这些视图会动态添加到scrollView中,并且没有关于视图的唯一信息。我在尝试触发自定义事件时尝试传递视图,但这不起作用。如何告诉scrollView删除哪个视图?
答案 0 :(得分: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);