是否可以在代码中为对象分配一个类?我正在动态创建一个按钮,为按钮加载图像,我有以下内容:
myButton = [[[NSButton alloc] initWithFrame:NSMakeRect(100,100,50,25)] autorelease];
[myButton setTitle:@"Done"];
[myButton setTarget:self];
[myButton setAction:@selector(mySelector:)];
[myButton setButtonType:NSMomentaryChangeButton];
[myButton setBordered:NO];
[myButton setImage:[NSImage imageNamed:@"myButton.png"]];
[myButton setImagePosition: NSImageOnly];
[[[self window] contentView] addSubview:myButton];
我还有一个NSButton子类(例如MyButtonClass.h / MyButtonClass.m)我想用于按钮,以便它有一个特定的行为,但我不知道如何将该类分配给按钮上面的代码。
这是可能的,还是只能在Interface Builder中完成?
答案 0 :(得分:0)
您可以使用MyButtonClass
代替NSButton
myButton = [[[MyButtonClass alloc] initWithFrame:NSMakeRect(100,100,50,25)] autorelease];
答案 1 :(得分:0)
创建按钮时,不要将它们创建为NSButtons,将它们创建为子类。例如,如果你有一个名为MyButton的NSButton的子类,而不是像:
NSButton *button = [[[NSButton alloc] initWithFrame:frame]autorelease];
你会有类似的东西:
MyButton *button = [[[MyButton alloc] initWithFrame:frame]autorelease];
这种方式按钮将是MyButton的一个实例。