2017-01-22 6 views
1

Мое приложение имеет NSTableView, настроенный как SourceList. Под номером NSTableView находятся два NSButton двух добавлений/удалений в таблице. Таблица и кнопки встроены в NSVisualEffectView (режим .behindWindow).Графическая ошибка NSVisualEffectView, когда приложение в фоновом режиме

Результат отличный, и я вижу фон через стол и кнопки, BUT, когда приложение находится в фоновом режиме (я отдаю фокус другому приложению), tableview и кнопки становятся черными, и вид не перерисовывается, как показано на рисунке ниже (взято с iPhone, потому что скриншот не показывает ошибку!):

Graphical bug when app in background

а вот структура IB взглядов: IB structure

Вид контейнера (CustomView) с поддержкой слоя.

Любое приведет к решению этой проблемы? Заранее спасибо !

ответ

1

Проблема заключалась в том, что я пытался получить полупрозрачный NSOutlineView (смешение над окном), но под TabView.

принципы Apple, UI (here) состояния следующее:

Используйте непрозрачный фон, когда окно содержит более одного врезки, а также при использовании боковой панели в окне панели или предпочтений. Все остальные времена используют полупрозрачный фон.

Из-за TabView я явно против этого правила, которое имело технические побочные эффекты (что привело к этому сообщению :-)).

-> сделать NSOutlineView непрозрачным (не как SourceList) решением проблемы.

0

Ваши фавориты нет и не будут реализованы drawRect:?

Я видел такие проблемы, когда представление реализует drawRect:, но не полностью заполняет переданный прямоугольник (или все исправления, возвращенные с getRectsBeingDrawn:count:).

+0

Нет, не меняется drawRect – vomi

Смежные вопросы