У меня есть приложение с view-based NSTableView
в нем. Внутри этого табличного представления у меня есть строки с ячейками, содержимое которых состоит из нескольких строк NSTextField
с включенным переносом слов. В зависимости от текстового содержимого NSTextField
, размер строк, необходимых для отображения ячейки, будет варьироваться.
Я знаю, что могу реализовать NSTableViewDelegate
метод - tableView:heightOfRow:
вернуть высоту, но высота будет определяться на основе переноса слов, используемого в NSTextField
. Перенос слов NSTextField
аналогичным образом основан на ширине NSTextField
..., которая определяется шириной NSTableView
.
Тааааааааааааааааааааааааалов или)))) вот в чем заключается мой вопрос. Какой шаблон проектирования для этого подходит? Кажется, все, что я пробую, превращается в запутанный беспорядок. Поскольку TableView требует знания высоты ячеек для их расположения ... и NSTextField
знания его макета для определения переноса слов… а ячейке требуется знание переноса слов, чтобы определить его высоту… это круговой беспорядок… и это сводит меня с ума .
Предложения?
Если это имеет значение, конечный результат также будет доступен для редактирования NSTextFields
, размер которого будет изменяться в соответствии с текстом внутри них. У меня уже есть эта работа на уровне представления, но представление таблицы еще не регулирует высоту ячеек. Я полагаю, что как только проблема с высотой будет решена, я воспользуюсь noteHeightOfRowsWithIndexesChanged
методом -, чтобы сообщить представлению таблицы, что высота изменилась ... но он все равно будет запрашивать у делегата высоту ... отсюда и мои затруднения.
Заранее спасибо!