Titanium scrollableView

时间:2014-03-05 10:33:58

标签: ios titanium appcelerator-titanium

我在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']);

请帮帮我! 谢谢!

3 个答案:

答案 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 它的工作原理