【问题标题】:Warning convertPointToBase is deprecated警告 convertPointToBase 已弃用
【发布时间】:2015-03-23 08:55:08
【问题描述】:

在我的 OS X 应用程序中,当我的 Web 视图加载某些网页时,我在控制台中收到警告(如下),但所有网页在加载时都不会生成此警告,这对我来说似乎很奇怪,因为它看起来像Web 视图的内容应该与调用的方法无关。

我没有在我的代码中显式调用此方法。

WARNING: Method convertPointToBase: in class NSView is deprecated on 10.7 and later. It should not be used in new applications. 

所以在某些时候调用了 NSView 方法 convertPointToBase,但是如果我没有在我的代码中显式调用它,可能会导致它被调用。?自动布局可以调用这个方法吗...?

【问题讨论】:

  • 好问题 - 很奇怪!
  • 它是从库函数中调用的。你在用什么外部库?
  • 我没有添加任何外部库。从我的代码中调用以生成警告的唯一方法是,在 controlTextDidEndEditing 委托方法中,当我在我的 url 字段中点击返回时,我有:mainWebview.takeStringURLFrom(urlTextField) ..... 我的代码中没有其他内容执行,但是当大多数但不是所有网页加载时,我会看到警告。有些页面永远不会生成此警告。真的很奇怪。
  • 也许 Apple 还没有替换 UIWebView 或 WebKit 中已弃用的方法。那么你唯一能做的就是提交错误报告。
  • 我希望,我看到的警告是 WebKit 中的一个错误,但我用一个简单的浏览器制作了一个测试应用程序,我没有看到那里的错误。也就是说,它仍然可能与我在有问题的应用程序中限制 WebView 的方式有关,这可能会导致 WebKit 调用折旧的方法。

标签: swift desktop-application


【解决方案1】:

我制作了该应用程序的副本并开始将其还原为基础,以确定此问题出现的位置。

我将问题跟踪到我要求在窗口附带的主视图上免费提供一个图层。 我认为这意味着我的 web 视图存在于图层支持的视图中。

masterView.wantsLayer = true
masterView.layer?.backgroundColor = CGColorCreateGenericRGB(0.72, 0.73, 0.74, 1)

当我删除这两行时,问题不再存在,加载时没有网页生成此警告。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-06
    • 2019-07-09
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    相关资源
    最近更新 更多