【问题标题】:Titanium WebView.toImage on coverFlowViewCoverFlowView 上的 Titanium WebView.toImage
【发布时间】:2013-09-08 07:55:31
【问题描述】:

A 有几个带有 WebView 的视图。我需要在coverFlowView 中制作它。为此,我将我的视图设置为图像,放在 coverFlow 之后,但问题是我得到的图像未加载 webView...我试图设置 setTimeout,但它没有帮助。

var cover = Titanium.UI.iOS.createCoverFlowView({
    images: forflowImages
});
for (var k = start; k < cData.length; k++) {
r = Ti.UI.createView({});
for (var j = 0; j < child.objects.length; j++) {
    tmp = Ti.UI.createWebView({
        left : 10,
        top : 10,
        right : 10,
        bottom : 10,
        width : Ti.UI.FILL,
            height : Ti.UI.SIZE,
        willHandleTouches: true,
        backgroundColor : '#fff2df',
    });
    tmp.html = obj.html;
    no.add(tmp);
    r.add(no);
    }
}
r.addEventListener("load", function(e) {
        blob = r.toImage();
    });
    forflowImages.push(blob);   
}
cover.setImages(forflowImages); 

使用此代码,coverFlowView 没有任何视图。

setTimeout(function() {
        blob = r.toImage();
    }, 500);

也没有帮助,我在页面上保存了活动指示器,内容似乎在 toImage 函数起作用之前没有时间加载。

【问题讨论】:

    标签: webview titanium coverflow


    【解决方案1】:

    您以错误的方式排序,并且有多个语法错误,并且您在错误类型的视图上侦听 load 事件,您应该在 WebView 上侦听,试试这个:

    var forflowImages = [];
    var container = // This should already be in the view stack somewhere
    var cover = Titanium.UI.iOS.createCoverFlowView();
    function loadListener(e) {
        forflowImages.push(e.source.toImage()); 
        if(forFlowImages.length == child.objects.length) {
            // We have all the images for cover flow
            cover.setImages(forflowImages);
        }
    }
    
    var containerView = Ti.UI.createView();
    for (var j = 0; j < child.objects.length; j++) {
        var tmp = Ti.UI.createWebView({html : obj.html);
        tmp.addEventListener("load", loadListener);
        container.add(tmp);
        tmp.repaint();
    }
    

    我删除了一些语法不正确的代码并将其删减,以便于理解。这段代码所做的只是添加一个事件监听器来处理 webview 到图像的转换。

    【讨论】:

    • 似乎解决方案还不错,但对我来说 eventListener 没有捕捉到“加载”事件......试图检查原因。
    • 您可能必须将 webviews 添加到显示的容器中,否则它们将永远不会加载。编辑了我的帖子
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多