그래서 저는 문서 및 인터넷 검색을보고 있었지만 WebView (OSX, iOS가 아닌)가 변경 될 때 메소드를 호출하는 방법을 알아낼 수 없습니다 ... 모든 예제 iOS를위한 것 같습니다. 내 코드는 다음과 같습니다WebView가 변경 될 때 호출 기능
SNAFAppDelegate.h
#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>
@interface SNAFAppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (assign) IBOutlet WebView *browser;
- (IBAction)forwards:(id)sender;
@end
에게 SNAFAppDelegate.m
#import "SNAFAppDelegate.h"
@implementation SNAFAppDelegate
@synthesize window = _window;
@synthesize browser = _b;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[[_b mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://google.com"]]];
}
@end
SNAFBrowser.h
#import <Cocoa/Cocoa.h>
#import <WebKit/WebView.h>
#import <WebKit/WebFrame.h>
#import <WebKit/WebEditingDelegate.h>
#import <WebKit/WebKit.h>
@interface SNAFBrowser : WebView
@property (assign) IBOutlet WebView *browser;
@end
SNAFBrowser.m
#import "SNAFBrowser.h"
@implementation SNAFBrowser
@synthesize browser = _b;
- (void)webViewDidChange:(NSNotification *)notification
{
NSLog(@"Hello World");
}
@end
,536을
내 MainMenu.xib 파일에서 AppDelegate의 Outlet "브라우저"를 WebView에 연결하고 WebView의 사용자 지정 클래스를 SNAFBrowser로 설정했습니다.
본질적으로, 나는 언제 webview가 다른 페이지를로드하는지 알고 싶습니다.
저는 어리석게도 무언가를하고 있습니다. 따라서 도움을 주시면 감사하겠습니다.
이 방법은 WebEditingDelegate 프로토콜입니다, 당신은 자신이 프로토콜을 설정하고 대리인에게 확인해야합니다. – rishi
webViewDidChange 메소드에'[_b setDelegate : self];를 추가하려고 시도했지만 'WebView'에 대한 표시가없는 @interface가 선택기 'setDelegate :'를 선언합니다. 프로토콜을 확인하면 무엇을 의미합니까? – citruspi