【问题标题】:Cannot find protocol declaration for 'UIWebViewDelegate'找不到“UIWebViewDelegate”的协议声明
【发布时间】:2012-07-25 16:30:19
【问题描述】:

我正在尝试使用 UIWebView 功能,特别是我想做这样的事情:Open links in Safari instead of UIWebVIew?

但是当我尝试将 UIWebViewDelegate 添加到我的 AppDelegate 界面时遇到问题。

有人知道是什么问题吗?请注意,这是 Mac OS 而不是 iOS。

【问题讨论】:

    标签: objective-c macos cocoa


    【解决方案1】:

    添加:

    #import <UIKit/UIKit.h>
    

    【讨论】:

    • 在将 uikit 添加到构建阶段之前
    【解决方案2】:

    有人知道是什么问题吗?请注意,这是 Mac OS 而不是 iOS。

    这就是问题所在。

    MacOS X 上没有UIWebViewUIWebViewDelegate。UI 是UIKit 的前缀,它是iOS 的AppKit 等价物。当您看到一个名称以 UI 开头的类时,您会立即知道您正在查看 iOS 代码。

    您可能正在寻找的课程是WebViewWebView 实际上使用了五个单独的委托,因此您可能需要实现多达五个不同的协议:WebUIDelegateWebDownloadWebFrameLoadDelegateWebPolicyDelegateWebResourceLoadDelegate。 (实际上,我认为您不需要做那么多工作。例如,您可能不需要实施自己的访问策略。)

    【讨论】:

      【解决方案3】:

      UIWebView 仅适用于 iOS。您不能为 Mac OSX 使用 UIWebViewDelegate。如果您查看自己的代码,您使用的是 WebView,而不是 UIWebView。

      你会想看看the WebView class docs

      【讨论】:

        猜你喜欢
        • 2011-09-20
        • 1970-01-01
        • 2015-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-07
        相关资源
        最近更新 更多