1

我想创建一个自定义视图,比如 MyView,它只包含一个按钮并在我单击它时打印出“hello my view”。下次我想使用它时,我只需要从 IB 向窗口添加一个自定义视图,将 MyView.m 添加到项目中并将自定义视图的类设置为 MyView。

我的问题是:

  1. 我想用IB来设置MyView的外观,但是不知道如何获取对应的视图文件:MyView.m以便下次使用MyView.m文件。
4

1 回答 1

1

您需要使用代码创建子类视图;例如:

我的视图.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 创建自定义视图布局,并将拥有的类从更改NSViewMyView(如果我记得,使用第三个选项卡)。

然后_label从左窗格上的拥有对象连接(Ctrl-拖动)并将按钮操作连接到buttonPressed:方法(Ctrl-拖动)。

于 2012-07-31T08:12:33.423 回答