У мене є програма з переглядом NSTableView
. Усередині цього подання таблиці у мене є рядки, які містять комірки, вміст яких складається з багаторядків NSTextField
із увімкненим перенесенням слів. Залежно від текстового вмісту NSTextField
, розмір рядків, необхідних для відображення комірки, буде змінюватися.
Я знаю, що можу реалізувати NSTableViewDelegate
метод - tableView:heightOfRow:
повернути висоту, але висота буде визначена на основі обтікання слів, що використовується в NSTextField
. Обтікання слів NSTextField
аналогічним чином засноване на тому, наскільки широке NSTextField
…, що визначається шириною NSTableView
.
Ооооо ... Думаю, моє питання полягає в тому ... який хороший шаблон дизайну для цього? Здається, все, що я намагаюся, закінчується заплутаним безладом. Оскільки TableView вимагає знання висоти клітинок, щоб їх розкласти ... і NSTextField
знання його макета вимагає визначення переносу слів ... а клітинка потребує знання обгортки слів, щоб визначити його висоту ... це круговий безлад ... і це зводить мене з розуму .
Пропозиції?
Якщо це має значення, кінцевий результат також матиме можливість редагування NSTextFields
, розмір якого буде змінюватися відповідно до тексту в них. У мене це вже працює на рівні подання, але табличний перегляд ще не регулює висоти комірок. Я вважаю, що після того, як я опрацюю проблему висоти, я використаю noteHeightOfRowsWithIndexesChanged
метод -, щоб повідомити про перегляд таблиці, коли висота змінилася ... але це все одно тоді буде запитувати делегата про висоту ... отже, моя недолік.
Спасибі заздалегідь!