【问题标题】:Titanium iOs app and Ti.UI.Window rendering issueTitanium iOs 应用程序和 Ti.UI.Window 渲染问题
【发布时间】:2012-11-23 13:57:45
【问题描述】:

我正在为 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 );

【问题讨论】:

    标签: iphone titanium appcelerator titanium-mobile


    【解决方案1】:

    嗯,这对我来说是新的。 “孩子”应该是a read-only property。因为您正在通过数组设置子视图,所以它们没有被正确地添加到父视图中,或者正如您所注意到的那样,没有被保留。它们过早地消失了。

    要使其正常工作,请将 .add(eachChildView) 显式添加到父视图。

    您可以通过将 singletap 事件侦听器移动到父视图来进一步优化,然后检测 evt.source 是否是您的子视图之一(如果 (evt.source.image) ...)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-12
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      相关资源
      最近更新 更多