Титановый прокручиваемый вид

Я разрабатываю приложение в Титаниуме. Хава код с scrollableview. Он работает в 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']);

Помогите пожалуйста мне! Спасибо!


person user3383068    schedule 05.03.2014    source источник


Ответы (3)


Попробуйте использовать более кросс-платформенное событие scrollend:

scrollGallery.addEventListener('scrollend', function(e){
    .......
});

Также попробуйте задать для ScrollableView явную ширину и высоту, просто чтобы исключить это:

var scrollGallery = Ti.UI.createScrollableView({
    layout:'horizontal',
    showHorizontalScrollIndicator:true,
    showVerticalScrollIndicator:true,
    width : "100%"
    height : "100%"
});
person Josiah Hester    schedule 05.03.2014

Попробуйте это, и это работает, прежде чем опубликовать, я попробовал.

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();
person Aakash Sharma    schedule 27.02.2017

это работает в Android, когда вы устанавливаете высоту просмотра больше, чем экран, или устанавливаете высоту просмотра, Ti.UI.SIZE, это работает

person Aakash Sharma    schedule 27.02.2017
comment
Автор заявил, что это уже работает в Android. Автор ищет способ заставить это работать в iOS. - person Johannes Dorn; 27.02.2017