Прозрачный nstableView
-
13-10-2019 - |
Вопрос
Я хочу настроить свой NSTableView
. Анкет Мои общие требования такие:
- Каждая строка будет иметь одно изображение и немного текста; Изображения и текст могут быть разными.
- Некоторые ячейки могут не иметь изображения.
- Высота строки зависит от некоторого внешнего фактора.
- Ячейка не должна рисовать фон, она должна показывать
NSTableView
фон.
До сих пор я могу нарисовать прозрачные ячейки с некоторым текстом. Я погуглил и узнал, что мне нужно настроить каждую ячейку. Теперь у меня есть этот вопрос: должен ли я поддерживать два столбца или один столбец должен быть в порядке, иметь одно изображение с левой стороны и примыкание к этому?
Я также понимаю, что мне нужно переопределить два метода:
- (void) drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
Так что для каждой ячейки мне нужно нарисовать/построить ячейку - кто -нибудь может направить меня? Я иду в правильном направлении? Могу ли я добиться прозрачного фона с динамической высотой с приведенным выше подходом?
Решение
Каждая строка будет иметь одно изображение и немного текста,
Итак, два столбца - один с ячейкой изображения, другой с ячейкой текстового поля.
изображения и текст могут быть разными,
Я должен надеяться на это.
Некоторая ячейка может не иметь изображения,
Не проблема.
Высота строки зависит от некоторого внешнего фактора,
Будьте делегатом представления о таблице, и он спросит вас, какая высота строки должна быть.
Ячейка не должна рисовать фон,
Это не будет, если вы не настроите это для этого.
В целом он должен показать фон nstableView,
В любом случае, представление о таблице будет нарисовать свой собственный фон, который вы можете установить в инспекторе IB. Если бы вы хотели, чтобы представление о таблице не нарисовало фон, вы бы установили его фоновые цвета для прозрачного цвета.
Вам не нужна нестандартная ячейка для этого.