我正在为 iPhone iOS 6.0 开发 Appcelerator Titanium 应用。
有Ti.UI.TabGroup
控制器打开此Ti.UI.Window
,其中包含图库图片。
一切正常,但只是在第一个标签打开。事实上,当我点击另一个标签然后我在图库标签中返回时,所有图像除了一个,我不知道为什么,消失。我确认imageViews
个对象仍然存在于其属性中,但是已隐藏。
这是图库和imagesView的代码,试图获得像布局一样的“网格”。
var imagesViewsArray = [];
for(var i=0,images=imageAlbums[0].images;i<images.length;i++){
var element =Ti.UI.createImageView({
image : images[i],
width : 100, height: 75, right:5,
});
element.addEventListener('singletap',function(e){
// [cut] Opening modalWindow with fullscreen image
});
imagesViewsArray.push(element);
}
var wrapper = Titanium.UI.createView({
height: Ti.UI.SIZE,
width:'auto', layout: 'horizontal',
left: 5, top: 5, bottom: 5,
children: imagesViewsArray
});
var scrollView = Ti.UI.createScrollView({
style:'vertical', contentWidth:'auto',
contentHeight:'auto', layout:'vertical',
width: '100%' , scrollType: 'vertical',
showVerticalScrollIndicator: true,
children: [ wrapper ]
});
galleryWin.add( scrollView );
答案 0 :(得分:0)
嗯,这对我来说是新的。 “孩子”应该是a read-only property。因为您要通过数组设置子视图,所以它们未正确添加到父视图中,或者正如您所注意到的那样,保留了它们。他们过早地离开了。
为了使这项工作正常,显式.add(eachChildView)到父视图。
您可以通过将单点事件侦听器移动到父视图,然后检测evt.source是否是您的一个子节点(if(evt.source.image)...)来进一步优化。