【发布时间】:2009-08-11 08:31:55
【问题描述】:
所以我正在尝试做这个练习,我需要为主窗口设置一个委托。目的是确保当用户调整窗口大小时,窗口的宽度始终是高度的两倍。
这是我的 AppController.h 文件:
#import <Cocoa/Cocoa.h>
@interface AppController : NSObject
{
NSWindow *windowWillResize;
}
@end
这是我的 AppController.m 文件:
#import "AppController.h"
@implementation AppController
- (id) init
{
[super init];
windowWillResize = [[NSWindow alloc] init];
[windowWillResize setDelegate:self];
return self;
}
- (NSSize) windowWillResize:(NSWindow *)sender
toSize:(NSSize)frameSize;
{
NSLog(@"size is changing");
return frameSize;
}
@end
但是,我可以删除该行 [windowWillResize setDelegate:self]; 因为我在 Interface Builder 中设置了委托,但我不确定为什么会这样。
windowWillResize 如何知道我指的是主应用程序窗口,因为我正在做一个全新的 windowWillResize = [[NSWindow alloc] init];
我有一种感觉,我完全做错了。有人能指出我正确的方向吗?谢谢!
【问题讨论】:
标签: objective-c delegates