gpt4 book ai didi

objective-c - 调整 WebView 实例的大小

转载 作者:行者123 更新时间:2023-12-03 16:25:50 24 4
gpt4 key购买 nike

我刚刚开始学习 OSX Cocoa 应用程序开发。我想在 native OSX 窗口中显示一个网站。我认为 WebView 是正确的方法。我希望 webview 始终占据包含窗口大小的 100%。

经过一番努力,我明白了如何捕获“窗口调整大小”事件,但我不知道如何根据窗口的新大小调整网页 View 的大小。

这是我到目前为止所拥有的:

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)] 也会调整 Web View 的大小,但事实似乎并非如此。

有什么建议/提示吗? WebView 是执行此操作的正确方法吗?感谢您的帮助!

最佳答案

您需要使 WebView 成为窗口 contentView 的一部分。

[self.window setContentView:self.websiteWebview];

默认情况下,这将使 webView 随着窗口自动调整大小。如果您希望 Web View 执行除匹配窗口大小之外的其他操作,则只需调整大小即可。

关于objective-c - 调整 WebView 实例的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19885771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com