找不到'UIWebViewDelegate'的协议声明

时间:2012-07-20 17:52:12

标签: objective-c macos cocoa

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

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

enter image description here

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

3 个答案:

答案 0 :(得分:8)

添加:

#import <UIKit/UIKit.h>

答案 1 :(得分:3)

  

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

那就是那个问题。

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

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

答案 2 :(得分:0)

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

您需要查看the WebView class docs