Какао: Как правильно скрыть другие виды под NSImageView? - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть представление с несколькими подпредставлениями (NSButton, NSTextField, NSPopUpButton) и NSImageView со значком счетчика, который должен отображаться поверх других представлений при получении данных из Интернета.

Для отображения NSImageView в верхней части я установил

imageViewSpinner.wantsLayer = true
imageViewSpinner.layer?.backgroundColor = NSColor.windowBackgroundColor.cgColor

Проблема в том, что границы фокуса и кнопки PopUpButton по-прежнему доступны / светят через NSImageView (см. прилагаемое видео).

Чтобы решить эту проблему, Я мог бы перебрать все другие подпредставления и установить для них значение «isHidden» или «отключено», но мне интересно, есть ли более чистое решение этой проблемы, например, определение NSImageView в качестве верхнего слоя без прохождения чего-либо?

video

1 Ответ

1 голос
/ 20 февраля 2020

Вы можете поместить все другие представления в одно представление контейнера и скрыть это.

Вы также можете использовать представление без вкладок для программного переключения между иерархиями представления. (Это в основном позволяет добиться того же. Лучше, когда есть более двух представлений для управления.)

...