gpt4 book ai didi

cocoa - 网页 View 问题

转载 作者:行者123 更新时间:2023-12-03 16:32:59 26 4
gpt4 key购买 nike

我的程序有两个类,第一个是常规应用程序委托(delegate) NSObject。第二个是一个 NSWindowController 子类,上面有 NSWindow 和 WebView,它显示应用程序包中的 html 页面。

这是我如何从 AppDelegate 调用窗口:

-(IBAction)showWebViewForm:(id)sender
{
webViewForm = [[WebViewForm alloc] initWithWindowNibName:@"WebViewForm"];
[webViewForm showWindow:self];
}

这是我在 WebViewForm : NSWindowController 中渲染网页的方法:

-(void)awakeFromNib{
[NSApp activateIgnoringOtherApps:YES];
[webview setUIDelegate: self];
[webview setResourceLoadDelegate: self];
[webview setPolicyDelegate:self];
[webview setFrameLoadDelegate:self];

[[webview mainFrame] loadRequest:
[NSURLRequest requestWithURL:
[NSURL fileURLWithPath:
[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"data"]]]];

}

工作正常,但只是第一次。当我关闭 WebViewForm 窗口并重新打开它时,网页从 WebView 中消失。为什么会这样,如何解决?

UPD 即使在特殊的新方法中嵌入 awakeFromNib 代码,例如 -(void)refreshWebview ,然后调用 [webViewForm refreshWebview] 就在 [webViewForm showWindow:self]; 之后,仍然 - 页面仅在第一次加载,这真的很奇怪(有什么想法吗?

最佳答案

我自己解决了。问题是,当它的父窗口关闭时,该 webview 也关闭了。因此,对于这种情况有特殊的方法:

[webview setShouldCloseWithWindow:NO];

关于cocoa - 网页 View 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6987885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com