我想创建一个自定义视图,比如MyView,它只包含一个按钮,当我点击它时打印出“hello my view”。当我下次想要使用它时,我只需要从IB向窗口添加自定义视图,将MyView.m添加到项目中并将自定义视图的类设置为MyView。
我的问题是:
答案 0 :(得分:1)
您需要使用代码创建子类视图;例如:
MyView.h:
#import <Cocoa/Cocoa.h>
@implementation MyView : NSView
{
IBOutlet NSTextField *_label;
}
- (IBAction)buttonPressed:(id)sender;
@end
MyView.m:
#import "MyView.h"
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self != nil)
{
// Init here
}
return self;
}
- (void)awakeFromNib:
{
// Init here
}
- (IBAction)buttonPressed:(id)sender
{
[_label setStringValue:@"hello my view"];
}
@end
您需要使用IB创建自定义视图布局,并将拥有类从NSView
更改为MyView
(如果我记得,请使用第3个标签)。
然后从左窗格中的拥有对象连接_label
(按住Ctrl键拖动),并将按钮操作连接到buttonPressed:
方法(按住Ctrl键拖动)。