Sencha Touch面板html不可见

时间:2014-03-05 02:29:19

标签: sencha-touch-2

我在模拟器上运行我的sencha-touch / phonegap应用程序,当我在面板上使用iframe设置html时。它不可见。但是如果我切换到另一个面板并回到原来的html面板。 html是可见的。  我相信它的刷新或布局问题,但我找不到重绘面板的方法。

我已尝试myPanel.hide()myPanel.show(),但内容不可见。我在if下面有一个iframe

'<div style="height:100%;-webkit-overflow-scrolling:touch;"><iframe style="width:100%;height:100%" src="'+results[i].url+'"/></div>'

我正在动态设置div的内容,如下所示。

for(var i=0;i<results.length;i++)
                    {
                        console.log("Setting the result page to "+results[i].url);
                        var url = '<div style="height:100%;-webkit-overflow-scrolling:touch;"><iframe style="width:100%;height:100%" src="'+results[i].url+'"/></div>';

                        this.getResultsTabPanel().add({ 
                            title: results[i].title,
                            id:results[i].title+(i+1),
                            itemId:results[i].title+(i+1),                              
                            html:url              
                        });
                    }       

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我现在有一个解决方案。而不是立即将子面板添加到tabpanel。我在里面像这样创建它们

    for(var i=0;i<results.length;i++)
                    {

                        var url = '<div style="height:100%;-webkit-overflow-scrolling:touch;"><iframe style="width:100%;height:100%" src="'+results[i].url+'"/></div>';                         
                        var result = {  
                                    title: results[i].title,
                                    id:results[i].title+(i+1),
                                    config : { 
                                        itemId:results[i].title+(i+1),   
                                    },
                                    xtype: 'panel',
                                    scrollable:true,
                                    styleHtmlContent : true,                                
                                    html:url                                                
                                };
                        panels.push(result);
                    }   
                    this.getResultsTabPanel().add(panels);

这适用于Chrome浏览器和模拟器。