首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过代码使用BWToolkit而不是IB

通过代码使用BWToolkit而不是IB
EN

Stack Overflow用户
提问于 2011-03-10 09:38:32
回答 2查看 1.7K关注 0票数 6

我正在尝试使用BWToolkit来制作一个平显风格的按钮。因为Xcode4不支持IB插件,所以我不得不通过代码来实现这个按钮。在导入框架和头文件之后,我尝试这样做:

代码语言:javascript
复制
BWTransparentCheckbox *button = [[BWTransparentCheckbox alloc] initWithFrame:NSMakeRect(0, 0, 100, 20)];
[self addSubview:button]; 

我期待这个漂亮的按钮:

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

你知道我哪里做错了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-15 09:51:51

您必须为按钮创建正确的单元格。像这样的事情会让你更亲近:

代码语言:javascript
复制
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];
票数 7
EN

Stack Overflow用户

发布于 2011-05-13 21:58:48

您还可以在界面生成器中使用常规按钮并更改它们的类。按钮类应该设置为BWTransparentButton,单元格类应该设置为BWTransparentButtonCell

然后还有一个额外的问题,产生的HUD样式的按钮太低了。您不能更改IB中的按钮高度,但可以创建自定义BWTransparentButton子类并在其中设置所需的高度:

代码语言:javascript
复制
- (void) awakeFromNib
{
    [super awakeFromNib];
    NSRect frame = [self frame];
    frame.origin.y -= 9;
    frame.size.height += 9;
    self.frame = frame;
}

这是一个愚蠢的解决方案,但对我来说,它仍然胜过在代码中创建按钮。我真希望苹果公司能在标准库中加入平显风格的控件,或者至少能让Interface Builder插件在…上运行起来

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5254477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档