根据Cocoa Programming for Mac OS X,3rd Edition,第245页(第17章),您通常会在Interface Builder中创建视图.但是,可以在代码中创建它们,la:
NSView *superview = [window contentView]; NSRect frame = NSMakeRect(10, 10, 200, 100); NSButton *button = [[NSButton alloc] initWithFrame:frame]; [button setTitle:@"Click me!"]; [superview addSubview:button]; [button release];
这一切都很好,但我如何将控件的出口连接到代码中的操作?(在.NET中,这是一件容易的事;添加一个委托......我希望它在Cocoa/Obj-C中同样容易.)
您可以使用简单的分配来连接它们.要从上面继续您的代码:
[button setTarget: self]; [button setAction: @selector(myButtonWasHit:)];
如果您想要定位第一个响应者而不是特定对象:
[button setTarget:nil]; [button setAction:@selector(myAction:)];