Вопрос

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

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

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

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

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

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

Это было полезно?

Решение

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

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

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

Я должен надеяться на это.

Некоторая ячейка может не иметь изображения,

Не проблема.

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

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

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

Это не будет, если вы не настроите это для этого.

В целом он должен показать фон nstableView,

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

Вам не нужна нестандартная ячейка для этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top