【问题标题】:Titanium: Upgraded to XCode5 and iOS 7 SDK and this brokeTitanium:升级到 XCode5 和 iOS 7 SDK,这坏了
【发布时间】:2013-09-20 22:45:39
【问题描述】:

我正在使用 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

在我升级之前,这 3 行运行良好。基本上这两个 webview 正在加载相同的 URL。

升级后我遇到的是只有一个 web 视图正在加载 url,所以我所做的是:

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;

在上面的例子中,两个网页视图都加载了,很明显它们不再是同一张幻灯片

【问题讨论】:

  • 您是否尝试将“错误”事件监听器附加到不加载内容的 webView?它会抛出错误吗?如果是,它说明了什么?
  • 我做到了,我没有从那个事件中得到任何东西

标签: ios titanium appcelerator


【解决方案1】:

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

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

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

【讨论】:

  • 我只会使用一个网络视图,但问题是当用户在横向上捏/缩放并切换回纵向时,纵向视图会放大。我正在尝试找到解决方案这将在旋转时重置缩放,但到目前为止还没有运气。我想我会为此做更多的工作,然后使用两个网络视图。如果我做不到,这可以工作
猜你喜欢
  • 1970-01-01
  • 2017-04-27
  • 2019-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-20
相关资源
最近更新 更多