我正在从服务器加载许多图像,并且不能同时使用所有这些请求来锤击服务器。我想只在图像滚动到屏幕上查看时加载图像,类似于Facebook iPhone应用程序。
有人知道如何在Titanium中执行此操作吗?
我想我在Kitchen Sink / YQL演示中看到了一个线索:看来表格会为ImageView提供此功能。我要测试一下......
答案 0 :(得分:1)
一旦该行可见,该表将仅加载单元格的图像。
答案 1 :(得分:-1)
编辑:忽略下面,似乎Appcelerator不会等到在请求图像数据之前渲染图像。听起来像个臭虫。
这对我来说是对的。一个表(至少在iOS上)将延迟加载其单元格,直到它们在屏幕上才处理它们。如果您创建表格单元格并将图像插入其中,则可以根据需要加载图像,而不是将大量图像添加到视图中。如果您不想要这样的效果,您可以随时设置表格样式,使其看起来不像是在表格中。
var table = Ti.UI.createTableView({
separatorColor: '#FFF' // Use this to hide the separator if you don't want it to look like a table
});
var images = []; // This contains your image views
var data = [];
for(var i=0, n=images.length; i<n; i++) {
var cell = Ti.UI.createTableViewRow({
className: 'image' // boosts performance
});
cell.add(images[i]);
data.push(cell);
}
table.data = data;
// Then just add the table to your window