在黑暗中摸索你的路
NSButton
. 有些是自定义设置,比如
frame
NSButtonCell
buttonCell
XML对象)。您不需要单独实例化它,但是您可以在这里找到一些属性。你应该这样做:
frame = NSMakeRect(126, 9, 250, 32); // x, y, width height
myButton = [[NSButton alloc] initWithFrame:frame];
myButton.translatesAutoresizingMaskIntoConstraints = NO;
myButton.title = @"Disable";
myButton.bezelStyle = NSBezelStyleRounded;
myButton.alignment = NSTextAlignmentCenter;
myButton.imageScaling = NSImageScaleProportionallyDown; // default value
...
这不是完全的复制品,但你应该明白。请注意,其中一些属性是在中定义的
N按钮
alignment
NSControl
.
可可之路
NSButton *myButton;
NSArray *topLevelObjects;
[[NSBundle mainBundle] loadNibNamed:@"MyCustomButton"
owner:self
topLevelObjects:&topLevelObjects];
for (id a in topLevelObjects) {
if ([a isKindOfClass:NSView.class]) {
myButton = a;
break;
}
}
如果只在XIB中放置一个按钮,则不需要专用控制器。上面的代码加载XIB,然后获取第一个
NSView
它找到了,那是你的按钮。我更喜欢这种方法,因为a)你不必把XML解码成一系列的代码语句;b)你可以随时在Interface Builder中更改按钮的属性;c)一旦加载了按钮,就可以复制它。