Прозрачный NSTableView - PullRequest
       15

Прозрачный NSTableView

0 голосов
/ 20 января 2011

Я хочу настроить свой NSTableView. Мои общие требования таковы:

  • В каждой строке будет одно изображение и текст; изображения и текст могут отличаться.
  • Некоторые ячейки могут не иметь изображения.
  • Высота строки зависит от какого-то внешнего фактора.
  • Ячейка не должна рисовать фон, она должна показывать NSTableView фон.

Пока я могу рисовать прозрачные ячейки с некоторым текстом. Я погуглил и обнаружил, что мне нужно настроить каждую клетку. Теперь у меня есть такой вопрос: я должен поддерживать два столбца или один столбец должен быть в порядке, имея одно изображение слева и текст рядом с ним?

Я также понимаю, что мне нужно переопределить два метода:

- (void) drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView

Итак, для каждой клетки мне нужно нарисовать / построить ячейку - кто-нибудь может мне помочь? Я иду в правильном направлении? Можно ли получить прозрачный фон с динамической высотой с помощью описанного выше подхода?

1 Ответ

1 голос
/ 20 января 2011

В каждой строке будет одно изображение и некоторый текст,

Итак, два столбца - один с ячейкой изображения, другой с ячейкой текстового поля.

изображения и текст могут отличаться,

Надеюсь, что так.

В некоторых ячейках может отсутствовать изображение,

Не проблема.

Высота строки зависит от какого-то внешнего фактора,

Будьте делегатом табличного представления, и он спросит вас, какой должна быть высота строки.

Ячейка не должна рисовать фон,

Это не произойдет, если вы не настроите это.

она должна в целом еедолжен показывать фон NSTableView,

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

Для этого вам не нужна пользовательская ячейка.

...