从WebKit更新URL中的文本字段

时间:2011-10-06 20:33:06

标签: cocoa

首先请允许我说我对COCOA非常新,但我正在学习。我有一个简单的Web浏览器。它加载默认页面,从文本字段中获取URL,甚至还有谷歌搜索。我正在运行的问题是使用当前URL更新textfeild。我的代码如下......

在.h中......

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

@interface MustangAppDelegate : NSObject <NSApplicationDelegate> {
    NSWindow *window;
    NSTextField *googleSearch;
    WebView *webView;
    NSTextField *addressBar;
}

@property (assign) IBOutlet NSWindow *window;
@property (nonatomic, retain) IBOutlet NSTextField *googleSearch;
@property (nonatomic, retain) IBOutlet WebView *webView;
@property (nonatomic, retain) IBOutlet NSTextField *addressBar;

- (IBAction)googleSearch:(id)sender;
- (IBAction)homeAction:(id)sender;
- (IBAction)addressBar:(id)sender;
@end

在.m中我有一堆,所以我会在这里提出我认为相关的内容......

#import "MustangAppDelegate.h"

@implementation MustangAppDelegate

@synthesize window;
@synthesize googleSearch;
@synthesize webView;
@synthesize addressBar;

- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame {
    NSURLRequest *currentRequest = [webView request];
    NSURL *currentURL = [currentRequest URL];
    addressBar.stringValue = currentURL.absoluteString;
}

上述方法的代码永远不会被调用。就像我说的那样,我对OBC&amp; amp;可可,但多年来一直在像Perl这样的程序编程。好像我错过了一些连接,因为我收到上述代码的警告,表明WebView可能无法响应请求。我四处寻找代码,但似乎我仍然缺少一些东西......

由于 麦克

1 个答案:

答案 0 :(得分:0)

只需按CTRL +将-frameLoadDelegate从IB拖到应用程序的App Delegate,Mustang 使用-didFinishLoadForFrame作为URL 如果你需要标题,请使用-didRecieveTitle。

希望它有所帮助!