您需要使用代碼創建子類視圖;例如:
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
(使用如果我記得第三個標籤)。
然後從左窗格中的擁有對象連接_label
(按住Ctrl鍵拖動),並將按鈕動作連接到方法(按住Ctrl鍵拖動)buttonPressed:
。
如果我想在其他項目中使用MyView類,可以通過將MyView.m文件添加到沒有xib文件的項目中來使用MyView類嗎?對象庫中的ABPersonView可以顯示類似AddressBook的接口,但是我沒有找到關於ABPersonView的nib文件。 – NOrder 2012-07-31 09:29:59
是的;只需複製'.m','.h'和'.xib'文件即可。 – trojanfoe 2012-07-31 09:30:34