gpt4 book ai didi

objective-c - 如何向窗口发送消息

转载 作者:行者123 更新时间:2023-12-03 17:52:53 24 4
gpt4 key购买 nike

我正在处理一本关于 Cocoa 的自助书籍中的挑战,这就是我陷入困境的地方。我正在尝试从单个文本字段调整窗口大小。

#import "DelegateAppDelegate.h"

@implementation DelegateAppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
}

//some tip i don't understand from the challenge
-(NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize;
{
NSSize mySize = NSMakeSize(400, 200);
NSLog(@"mySize is %f wide and %f tall", mySize.width, mySize.height);
return mySize;
}

//button that will send the value from the text field
- (IBAction)userResize:(id)sender {

NSInteger size = [_userSelectedSize intValue];
NSSize userInputSize = NSMakeSize(size, (size/2));
//there is only one text field named userInputSize. the size is halved
//for the height

NSLog(@"width = %f, height = %f", userInputSize.width, userInputSize.height);
[_userSelectedSize setStringValue:@"updated"];

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~THIS IS WHAT I NEED HELP WITH
[windowName setHeigth:userInputSize.heigth setWidth:userInputSize.width]
}
@end

我不希望发送有关实际消息的信息,因为我知道这些参数很可能是错误的,但我想知道在哪里可以找到为窗口名称编写的内容。

请注意:问题是我不知道将消息发送到哪里。

仅供引用,如果有帮助的话,我的一个文件名为 MainMenu.xib。

最佳答案

I would prefer no information on the actual message to send, as I know these parameters are most likely wrong, but I would like to know where to find what to write for the window name.

Windows 没有名称。

窗口有一个标题,但它显示给用户 - 您不能使用它来识别窗口。

您需要的是一种将 Nib 中的窗口连接到代码的方法。您的代码中需要某种可以将窗口插入其中的 socket 。

一句话:一个导出

而且您可能已经拥有一个。 Xcode 的非基于文档的应用程序模板在应用程序委托(delegate)中包含一个 window 导出,默认情况下已连接。查看您的 DelegateAppDelegate header 以进行确认。

因此,您只需将 setFrame:display: 消息发送到 self.window 即可。

关于objective-c - 如何向窗口发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20724044/

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