如何在启动时使WebView的OSX Xcode项目加载URL?

6

好的,我正在尝试学习如何开发Mac应用程序。我已经制作了一个网络浏览器等等,但我真的想知道如何使WebView在应用程序启动时加载URL(比如 http://google.com/)。我该怎么做呢?

3个回答

12
在您的应用程序委托中实现。
-(void)applicationDidFinishLaunching:(NSNotification*) notification
{
     ....
}

当应用程序完成启动时,Cocoa系统会自动调用此方法,这很明显,对吧?

假设您的应用委托具有IBOutlet WebView *webview,那么您所需要做的就是在applicationDidFinishLaunching:内调用该方法。

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

就这些啦!


某种方式对我仍然不起作用,我需要在Interface Builder中链接它吗? - Saulius Antanavicius
1
是的,您需要将“webview”插座连接到界面中的Web视图。否则,应用程序如何知道您代码中的变量“webview”指的是什么?在复杂的应用程序中,界面构建器中可能会有多个WebView。因此,即使只有一个WebView,您也需要指定一个。 - Yuji
我不敢相信你不能从界面构建器中做到这一点。 - 11684

8

You could just put

[webview setMainFrameURL:@"http://www.google.com/"];

-1

这两个答案都应该有效,但如果你是用Xcode 4为Mac制作的(我不确定旧版本是否适用),有三件事情需要注意。首先,你必须声明一个名为webview的IBOutlet,因为在这两个示例中它就是这样命名的,并且你必须在.m文件中合成它。其次,不要使用[[webview mainFrame] loadRequest:request],而是要使用[[_webview mainFrame] loadRequest:request](因为它是被合成为这个名称的)。最后,你需要添加WebKit框架,并在头文件中导入它,使用#import。

-这就是你在Xcode 4上为Mac实现它所需要做的全部。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接