【问题标题】:How can I remove the white square around my NSProgressIndicator?如何删除 NSProgressIndicator 周围的白色方块?
【发布时间】:2014-06-09 21:40:30
【问题描述】:

我正在向我的 NSMenuItem 添加一个 NSProgressIndicator(带有自定义视图)。它工作正常,但它周围有一个奇怪的正方形:

这是我的代码:

// In my @interface declaration:
NSProgressIndicator *_spinner;

...

// In initWithFrame:
_spinner = [[NSProgressIndicator alloc] initWithFrame:NSMakeRect(0, 0, 20, 20)];
[_spinner setBezeled:NO];
[_spinner setTranslatesAutoresizingMaskIntoConstraints:NO];
[_spinner setControlSize:NSMiniControlSize];
[_spinner setStyle:NSProgressIndicatorSpinningStyle];
[_spinner sizeToFit];
[self addSubview:_spinner];

我不确定为什么会这样。有人知道吗?

谢谢。

【问题讨论】:

  • 什么是超级视图(sn-p 中的self)?它是如何绘制自己的?
  • @KenThomases 超类是一个 NSView。
  • 嘿,你解决了吗?我也有同样的问题。
  • @devxoul 不幸的是我没有。 :(

标签: macos cocoa menubar nsmenuitem nsprogressindicator


【解决方案1】:

我也面临同样的问题, 问题不在于进度指示器,而在于进度指示器的相关超级视图。

解决办法是,

只需将 ViewAppearance 属性值更改为 “Aqua” 而不是“Inherited Aqua”。参考附图。


【讨论】:

    【解决方案2】:

    尝试使背景透明并使视图不透明

    [_spinner setOpaque:NO];
    [_spinner setBackgroundColor:[NSColor clearColor]];
    

    【讨论】:

    • 不幸的是 NSProgressIndicator 没有这些方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2016-02-25
    • 2017-10-28
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    相关资源
    最近更新 更多