【发布时间】:2023-03-10 04:13:01
【问题描述】:
我需要像 - (void)applicationDidFinishLaunching:(NSNotification *)aNotification 这样的方法,但我的 WebView IBOutlet WebView*webView; 需要它。什么是正确的方法?
【问题讨论】:
标签: objective-c macos webview launching
我需要像 - (void)applicationDidFinishLaunching:(NSNotification *)aNotification 这样的方法,但我的 WebView IBOutlet WebView*webView; 需要它。什么是正确的方法?
【问题讨论】:
标签: objective-c macos webview launching
WebView 有几个不同的选项,因为大约有 5 个非正式委托,您可以实现以下方法:
例如,您可能希望实现框架加载和资源加载委托来监控加载进度并显示状态消息。使用多个窗口的应用程序可能希望实现用户界面委托。有关详细信息,请参阅各个非正式委托协议:WebFrameLoadDelegate 协议参考、WebPolicyDelegate 协议参考、WebResourceLoadDelegate 协议参考和 WebUIDelegate 协议参考。
我发现 WebFrameLoadDelegate 是最简单的,只需将自己设置为委托:
[webView setFrameLoadDelegate:self];
然后实现这个方法:
- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
【讨论】:
- (void)webViewDidFinishLoad:(UIWebView *)webView
它在UIWebViewDelegate 协议中。
【讨论】:
WebFrameLoadDelegate中的webView:didFinishLoadForFrame:。
webview 与文件所有者的第一个绑定 ResourceDelegate
(void)webView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource
这对我来说非常有用。
【讨论】: