2014-03-05 37 views
2

我在Titanium中開發應用程序。 hava帶有scrollableview的代碼。 它在Android中工作,但在IOS中不起作用,並且不顯示錯誤消息。 該代碼:Titanium scrollableView

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

請幫幫我! 謝謝!

回答

1

嘗試使用更多的跨平臺scrollend事件:

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

也可以嘗試給你ScrollableView一個明確的寬度和高度,只是爲了排除這種可能性:

var scrollGallery = Ti.UI.createScrollableView({ 
    layout:'horizontal', 
    showHorizontalScrollIndicator:true, 
    showVerticalScrollIndicator:true, 
    width : "100%" 
    height : "100%" 
}); 
-1

其作品在Android的你設置視圖的高度,然後設置視圖的高度,或設置視圖的高度,Ti.UI.SIZE 它的工作原理

+0

作者聲明它已經在Android中工作。作者正在尋找一種方法在iOS中使用它。 –

1

試試這個和它的w在發佈之前,我試過了。

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();