Основанный на представлении NSTableView со строками с динамической высотой

У меня есть приложение с основанным на представлении NSTableView . Внутри этого табличного представления у меня есть строки с ячейками, содержимое которых состоит из многострочного NSTextField с включенным переносом слов. В зависимости от текстового содержимого NSTextField размер строк, необходимых для отображения ячейки, будет варьироваться.

Я знаю, что могу реализовать метод NSTableViewDelegate - tableView: heightOfRow: , чтобы вернуть высоту, но высота будет определяться на основе переноса слов, используемого в ] NSTextField . Перенос слов в NSTextField аналогичным образом основан на том, насколько широк NSTextField … что определяется шириной NSTableView .

Таааааааааааааааааааааааачоне) я думаю, что мой вопрос ... какой хороший шаблон проектирования для этого? Кажется, все, что я пробую, превращается в запутанный беспорядок. Поскольку TableView требует знания высоты ячеек для их размещения ... а NSTextField требует знания его макета, чтобы определить перенос слов ... а ячейке необходимо знание переноса слов, чтобы определить его высота ... это круглый беспорядок ... и это сводит меня с ума .

Предложения?

Если это важно, конечный результат также будет иметь редактируемые NSTextFields , размер которых будет изменяться в соответствии с текстом внутри них. У меня это уже работает на уровне представления, но представление таблицы еще не регулирует высоту ячеек. Я полагаю, что как только проблема с высотой будет решена, я воспользуюсь методом - noteHeightOfRowsWithIndexesChanged , чтобы сообщить представлению таблицы, что высота изменилась ... но он все равно будет запрашивать у делегата высоту ... следовательно, мой затруднения.

Заранее спасибо!

82
задан Andriy 15 May 2016 в 12:36
поделиться

0 ответов