我在Titanium中开发应用程序。一个带有可滚动视图的代码。 它在Android中工作但在IOS中不起作用,并且不显示错误消息。 代码:
exports.imagescroller = function(images, imgWidth, imgHeight){
var imageCollection = images;
var window = Ti.UI.createWindow({
backgroundColor:'transparent',
});
if(imgWidth == null) {
imgWidth = "100%";
}
if(imgHeight == null) {
imgHeight = "100%";
}
var scrollGallery = Ti.UI.createScrollableView({
layout:'horizontal',
showHorizontalScrollIndicator:true,
showVerticalScrollIndicator:true,
});
var viewCollection = [];
for (var i = 0; i < imageCollection.length; i++) {
var innerView = Ti.UI.createView({
layout:'horizontal',
});
var item = Ti.UI.createImageView({
width : imgWidth,
height: imgHeight,
imageID:i,
defaultImage: imageCollection[0]
});
if (i < 3) {
item.image = imageCollection[i];
}
innerView.add(item);
viewCollection.push(innerView);
}
scrollGallery.addEventListener('scroll', function(e){
if (scrollGallery.currentPage < (imageCollection.length-1)) {
var nxt = scrollGallery.currentPage+1;
scrollGallery.views[nxt].children[0].image = imageCollection[nxt];
}
});
scrollGallery.views = viewCollection;
window.add(scrollGallery);
return window;
};
我在窗口中使用它:
var Scroller = require("imagescroller");
window = Scroller.imagescroller(allData['images']);
请帮帮我! 谢谢!
答案 0 :(得分:1)
尝试使用更多跨平台scrollend
事件:
scrollGallery.addEventListener('scrollend', function(e){
.......
});
同时尝试为ScrollableView提供明确的宽度和高度,只是为了排除:
var scrollGallery = Ti.UI.createScrollableView({
layout:'horizontal',
showHorizontalScrollIndicator:true,
showVerticalScrollIndicator:true,
width : "100%"
height : "100%"
});
答案 1 :(得分:1)
尝试这个及其工作,在发布之前我试过它。
var win = Ti.UI.createWindow();
var view1 = Ti.UI.createView({
backgroundColor : '#123'
});
var view2 = Ti.UI.createView({
backgroundColor : '#246'
});
var view3 = Ti.UI.createView({
backgroundColor : '#48b'
});
var scrollableView = Ti.UI.createScrollableView({
views : [view1, view2, view3],
showPagingControl : true,
layout : 'horizontal',
showHorizontalScrollIndicator : true,
showVerticalScrollIndicator : true,
});
win.add(scrollableView);
win.open();
答案 2 :(得分:-1)
当你将视图的高度设置得比屏幕更多时,它可以在android中工作,或者设置视图的高度,Ti.UI.SIZE 它的工作原理