WebFrame内容未显示

时间:2015-02-03 06:32:55

标签: objective-c xcode macos cocoa

我有一个简单的小应用程序,我试图学习在OS X桌面应用程序中使用WebFrame。

WebFrame存在于通过单击主菜单nib窗口中的按钮打开的窗口内。

我试图在加载窗口时将一个简单的HTML字符串加载到WebView中,只是为了确保所有内容都正确连接。

这是窗口的h文件

#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>

@interface WebReportView : NSWindowController

@property IBOutlet WebView *webView;

@end

这里是m文件,包括我认为应加载HTML字符串的代码。

#import "WebReportView.h"

@implementation WebReportView

- (void)windowDidLoad {
    [super windowDidLoad];
    [[self.webView mainFrame]loadHTMLString:@"<html><head></head><body><h1>Foo</h1></body></html>" baseURL:nil];
}

@end

窗口加载得很好,我可以看到WebView,但内容没有加载到WebView中。大胆的#34; Foo&#34;不见了。

如果我尝试加载实际的网络内容,也会发生同样的事情:

NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]];
[self.webView.mainFrame loadRequest:request];

没有任何东西被加载到WebView中。

我知道loadHTMLString(或loadRequest)方法正在被调用,因为我把NSLogs放在它之前和之后。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

确保您已创建WebView插座并建立所有连接。 确保已设置WebView Delegate

 NSString *fullURL  = @"http://www.google.com";
 NSURL *url = [NSURL URLWithString:fullURL];

 NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
 [webUrl loadRequest:requestObj];