我正在尝试使用BWToolkit来制作一个平显风格的按钮。因为Xcode4不支持IB插件,所以我不得不通过代码来实现这个按钮。在导入框架和头文件之后,我尝试这样做:
BWTransparentCheckbox *button = [[BWTransparentCheckbox alloc] initWithFrame:NSMakeRect(0, 0, 100, 20)];
[self addSubview:button]; 我期待这个漂亮的按钮:

然而,这是我得到的(减去黑色边框):

你知道我哪里做错了吗?
发布于 2011-03-15 09:51:51
您必须为按钮创建正确的单元格。像这样的事情会让你更亲近:
BWTransparentButton *button = [[BWTransparentButton alloc] initWithFrame:NSMakeRect(0, 0, 136, 28)];
BWTransparentButtonCell *buttonCell = [[BWTransparentButtonCell alloc] init];
[button setCell:buttonCell];
[buttonCell setBezelStyle:NSRoundedBezelStyle];
[buttonCell release];
[self addSubview:button];
[button release];发布于 2011-05-13 21:58:48
您还可以在界面生成器中使用常规按钮并更改它们的类。按钮类应该设置为BWTransparentButton,单元格类应该设置为BWTransparentButtonCell。
然后还有一个额外的问题,产生的HUD样式的按钮太低了。您不能更改IB中的按钮高度,但可以创建自定义BWTransparentButton子类并在其中设置所需的高度:
- (void) awakeFromNib
{
[super awakeFromNib];
NSRect frame = [self frame];
frame.origin.y -= 9;
frame.size.height += 9;
self.frame = frame;
}这是一个愚蠢的解决方案,但对我来说,它仍然胜过在代码中创建按钮。我真希望苹果公司能在标准库中加入平显风格的控件,或者至少能让Interface Builder插件在…上运行起来
https://stackoverflow.com/questions/5254477
复制相似问题