Titanium:升级到XCode5和iOS 7 SDK,这打破了

时间:2013-09-20 22:45:39

标签: ios titanium appcelerator

我正在使用Appcelerators Titanium构建我的应用程序。我已经使用它一段时间了,它运行良好。当我升级到最新的Ti SDK(3.1.3 GA)和带有iOS7 SDK的Xcode 5时,一段特定代码停止工作。

不再起作用的行涉及WebView。

imageData  = generateURL(win.vforumLocation + 'slide' + (id + 1) + '.pdf', 600);
//-- assume imageData is a valid URL that gets generated.
portWV.url = imageData; //-- portrait webview
landWV.url = imageData; //-- landscape webview

这三条线在我升级之前工作正常。基本上这两个网页浏览正在加载相同的网址。

升级后我遇到的只是一个网页视图正在加载网址,所以我做的是:

imageData   = generateURL(win.vforumLocation + 'slide' + (id + 1) + '.pdf', 600);
//-- assume imageData is a valid URL that gets generated.
portWV.url  = imageData; //-- portrait webview
setTimeout(function(){
    landWV.url = imageData; //-- landscape webview
},500);

另一个.url道具和bam的基本超时调用,它有效。知道这里发生了什么吗?我宁愿不添加此超时。

更新 只是稍微测试一下,我尝试改变所加载的URL,如下所示:

imageData   = generateURL(win.vforumLocation + 'slide' + (id + 1) + '.pdf', 600);
portWV.url  = imageData;
imageData   = generateURL(win.vforumLocation + 'slide' + (id + 2) + '.pdf', 600);
landWV.url = imageData;

在上面的案例中,两个Web视图都加载了,显而易见的原因是它们不再是同一个幻灯片

1 个答案:

答案 0 :(得分:0)

虽然不是特别针对原始问题的解决方案,但您可以通过将eventListener附加到portWV来解决使用setTimeout,并触发'load'事件。

portWV.addEventListener('load', function() {
    landWV.url = imageData;
});

无论哪种方式,一种可能的解决方案可能是只使用一个Web视图并检查方向更改以调整其大小...