我刚刚开始学习OSX Cocoa应用程序开发。我想在本机OSX窗口中显示一个网站。我认为WebView是正确的方法。我希望webview始终占据100%的包含窗口'大小
经过一番挣扎后,我明白了如何抓住'窗口调整大小'事件,但我不知道如何根据Windows新大小调整Web视图的大小。
这是我到目前为止所拥有的:
AppDelegate.h
#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>
@interface AppDelegate : NSObject <NSApplicationDelegate, NSWindowDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (weak) IBOutlet WebView *websiteWebview;
@end
AppDelegate.m
#import "AppDelegate.h"
@implementation AppDelegate
- (NSSize) windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize
{
WebView *view = [self websiteWebview];
[view setFrame:CGRectMake(0, 0, 1000, 1000)];
return frameSize;
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[[self window] setDelegate:self];
NSURL *url = [[NSURL alloc] initWithString:@"http://conradk.com"];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[[[self websiteWebview] mainFrame] loadRequest:request];
}
@end
我认为调用[view setFrame:CGRectMake(0, 0, 1000, 1000)]
也会调整网页视图的大小,但似乎并非如此。
有任何提示/提示吗? WebView是否是正确的方法?谢谢你的帮助!
答案 0 :(得分:6)
您需要将WebView
部分设置为窗口contentView
。
[self.window setContentView:self.websiteWebview];
默认情况下,这会让webView
自动调整窗口大小。如果你想让webview做一些与窗口大小不匹配的事情,你只需要弄乱大小。