Как я могу удалить белый квадрат вокруг моего NSProgressIndicator?

Я добавляю NSProgressIndicator в свой NSMenuItem (с настраиваемым представлением). Он работает нормально, но вокруг него странный квадрат:

Белый квадрат вокруг индикатора выполнения

Вот мой код:

// 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];

Я не уверен, почему это происходит. У кого-нибудь есть идеи?

Спасибо.


person David Murray    schedule 09.06.2014    source источник
comment
Что такое супервизор (self во сниппете)? Как оно рисует себя?   -  person Ken Thomases    schedule 23.07.2014
comment
@KenThomases Суперкласс — это NSView.   -  person David Murray    schedule 01.08.2014
comment
Эй, ты решил это? У меня тоже такая же проблема.   -  person devxoul    schedule 01.11.2014
comment
@devxoul К сожалению, нет. :(   -  person David Murray    schedule 02.11.2014


Ответы (2)


Я тоже столкнулся с той же проблемой. Проблема не в индикаторе прогресса, а в связанном с ним обзоре индикатора прогресса.

Решение,

Просто измените значение свойства Appearance для View на "Aqua" вместо "Inherited Aqua". Обратитесь к прикрепленному изображению.


Ссылка на это изображение

person Jeba Moses    schedule 18.09.2017

Попробуйте сделать фон прозрачным и сделать вид непрозрачным.

[_spinner setOpaque:NO];
[_spinner setBackgroundColor:[NSColor clearColor]];
person Fernando Mazzon    schedule 09.06.2014
comment
К сожалению, NSProgressIndicator не имеет этих методов. - person David Murray; 10.06.2014