macOS & iOS 开发笔记

不写博客技术就会更好?也许给不了高深,但愿给你清晰

MacOS 开发 - NSBezelStyle & NSButton(配图)

NSBezelStyle


typedef NS_ENUM(NSUInteger, NSBezelStyle) {
    NSBezelStyleRounded           = 1,
    NSBezelStyleRegularSquare     = 2,
    NSBezelStyleDisclosure        = 5,
    NSBezelStyleShadowlessSquare  = 6,
    NSBezelStyleCircular          = 7,
    NSBezelStyleTexturedSquare    = 8,
    NSBezelStyleHelpButton        = 9,
    NSBezelStyleSmallSquare       = 10,
    NSBezelStyleTexturedRounded   = 11,
    NSBezelStyleRoundRect         = 12,
    NSBezelStyleRecessed          = 13,
    NSBezelStyleRoundedDisclosure = 14,
    NSBezelStyleInline NS_ENUM_AVAILABLE_MAC(10_7) = 15,
};

显示效果

1-14 等数字代表 NSBezelStyle 的枚举

  • 枚举中没有3、4,如果设置样式为3、4,则会沿用2的风格。
  • 样式为 1、2、6、8、10 的时候,尺寸才会修改。 Square 结尾的样式都可以有效的修改尺寸。所以当你修改尺寸失败时,别忘记查看下自己的 bezelStyle。

无文字

有文字


测试代码


- (void)addSerialBtn{

    CGFloat btnW = 80;
    CGFloat btnH = 40;

    for (int i = 0; i < 14; i++) {
        NSButton *btn = [[NSButton alloc]initWithFrame:NSMakeRect( 20 + (i % 5) * (btnW + 5) ,50 + (i / 5) * (btnH + 40), btnW, btnH)];
        btn.wantsLayer = YES;
        btn.bezelStyle = i;
        NSString *btnName = [NSString stringWithFormat:@"按钮 - %d",i];
        [btn setTitle:@"按钮"];
        btn.layer.backgroundColor = [NSColor cyanColor].CGColor;
        [self.window.contentView addSubview:btn];

        NSTextField *field = [[NSTextField alloc]initWithFrame:NSMakeRect(CGRectGetMinX(btn.frame), CGRectGetMinY(btn.frame) - 22, btnW, 20)];
        field.stringValue = btnName;
        [self.window.contentView addSubview:field];

    }
}
阅读更多

扫码向博主提问

去开通我的Chat快问

lovechris00

博客专家

爱拼才会赢
  • 擅长领域:
  • iOS
  • macOS
版权声明:本文为博主原创文章,转载请附上本文链接地址。from : https://blog.csdn.net/lovechris00 https://blog.csdn.net/lovechris00/article/details/77949892
个人分类: macOS 开发笔记
所属专栏: macOS 开发
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭