我想创建一个自定义视图,比如 MyView,它只包含一个按钮并在我单击它时打印出“hello my view”。下次我想使用它时,我只需要从 IB 向窗口添加一个自定义视图,将 MyView.m 添加到项目中并将自定义视图的类设置为 MyView。
我的问题是:
- 我想用IB来设置MyView的外观,但是不知道如何获取对应的视图文件:MyView.m以便下次使用MyView.m文件。
我想创建一个自定义视图,比如 MyView,它只包含一个按钮并在我单击它时打印出“hello my view”。下次我想使用它时,我只需要从 IB 向窗口添加一个自定义视图,将 MyView.m 添加到项目中并将自定义视图的类设置为 MyView。
我的问题是:
您需要使用代码创建子类视图;例如:
我的视图.h:
#import <Cocoa/Cocoa.h>
@implementation MyView : NSView
{
IBOutlet NSTextField *_label;
}
- (IBAction)buttonPressed:(id)sender;
@end
我的视图.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
(如果我记得,使用第三个选项卡)。
然后_label
从左窗格上的拥有对象连接(Ctrl-拖动)并将按钮操作连接到buttonPressed:
方法(Ctrl-拖动)。