Titanium视图.add()未添加子项

时间:2016-02-17 12:08:44

标签: ios appcelerator appcelerator-titanium

我目前正在使用钛制作天气预报应用程序,在此应用程序中,我有一个容器,应该显示多个条形图,每个预测提供程序一个。

将栏视图添加到

的视图
providers = Ti.UI.createView({
  width: '100%',
  height: Ti.UI.SIZE,
  layout: 'vertical'
});

负责删除条形码并将其添加到providers

的代码
providers.removeAllChildren();
i = 0;
Ti.API.info("-------- size: " + size + " -------------");
while (size && i < size) {
  pBar = providerBars[i];
  if (DetailsView.checkValue(avgV[i]) || DetailsView.checkValue(topV[i]) || DetailsView.checkValue(angV[i])) {
    Ti.API.info('Inside the loop @ ' + i);
    Ti.API.info('pBar.bar' + pBar.bar);
    Ti.API.info('full bar info: ' + JSON.stringify(pBar.bar));
    providers.add(pBar.bar);
    Ti.API.info('Directly after the add: ' + providers.getChildren());
  }
  i++;
}
Ti.API.info(providers.getChildren());
Ti.API.info('-------------------------');

这里的问题是providers.add(pBar.bar)在第一次调用时没有做任何事情。给我以下输出

  

[INFO] -------- size:2 -------------
  [INFO]循环内部@ 0
  [INFO] pBar.bar [object TiUIView]
  [INFO]全栏信息:{“width”:“100%”,“top”:2,“horizo​​ntalWrap”:true,“backgroundGradient”:{},“height”:17}
  [INFO]直接添加后:
  [INFO]循环内部@ 1
  [INFO] pBar.bar [object TiUIView]
  [INFO]完整条形信息
{{width“:”100%“,”top“:2,”horizo​​ntalWrap“:true,”backgroundGradient“:{},”height“:17}
  [INFO]直接添加后:[object TiUIView]
  [INFO](“[objectTiUIView]”)
  [INFO] -------------------------

循环显然运行了两次而pBar.bar是一个TiUIView对象,providers.add()显然没有完成它的工作。

使用Titanium 3.5.1.GA

我在构建Android时没遇到过这个问题,到目前为止仅针对iOS。

1 个答案:

答案 0 :(得分:0)

需要根据提供的有限代码做出很多假设。我的直接反应是查看容器的布局,&#34;提供商&#34;,正在添加子项。如果这是默认值,复合/绝对,并且两者都具有如图所示的顶部2,则它们可以相互重叠。