setBackgroundColor охватывает элемент - PullRequest
0 голосов
/ 15 сентября 2010

У меня есть NSWindow, и я использую этот код для добавления нижнего металлического стержня внизу.

[MyWindow setContentBorderThickness:40.0 forEdge:NSMinYEdge];

Это прекрасно работает.Но, как только я использую это:

[MyWindow setBackgroundColor: [NSColor redColor]];

Красный цвет закрывает полосу внизу.Панель отображается правильно без цвета фона.

1 Ответ

2 голосов
/ 16 сентября 2010

Да, может показаться, что изменение цвета фона NSWindow отменяет его нижнюю границу.Чтобы добиться обоих эффектов, вы можете сделать одну из двух вещей:

  1. В Интерфейсном Разработчике переместите все свои элементы интерфейса в подкласс NSView, который рисует его фон, и добавьте представление к вашему.window.
  2. Создайте NSView, который имитирует нижнюю границу вашего окна, и установите цвет фона окна.

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

...