Tengo una aplicación con una vista basada NSTableView
en ella. Dentro de esta vista de tabla, tengo filas que tienen celdas que tienen contenido que consta de varias filas NSTextField
con ajuste de palabras habilitado. Dependiendo del contenido textual del NSTextField
, el tamaño de las filas necesarias para mostrar la celda variará.
Sé que puedo implementar el NSTableViewDelegate
método, tableView:heightOfRow:
para devolver la altura, pero la altura se determinará en función del ajuste de palabras utilizado en NSTextField
. La palabra envoltura de NSTextField
se basa de manera similar en qué tan ancho NSTextField
es ... que está determinado por el ancho de NSTableView
.
Así que… supongo que mi pregunta es… ¿cuál es un buen patrón de diseño para esto? Parece que todo lo que intento termina siendo un lío complicado. Dado que TableView requiere conocimiento de la altura de las celdas para distribuirlas ... y el NSTextField
conocimiento de las necesidades de su diseño para determinar el ajuste de palabras ... y la celda necesita conocimiento del ajuste de palabras para determinar su altura ... es un lío circular ... y me está volviendo loco .
Sugerencias
Si importa, el resultado final también tendrá elementos editables NSTextFields
que cambiarán de tamaño para ajustarse al texto dentro de ellos. Ya tengo esto funcionando en el nivel de vista, pero la vista de tabla aún no ajusta las alturas de las celdas. Me imagino que una vez que resuelva el problema noteHeightOfRowsWithIndexesChanged
de la altura, usaré el método - para informar a la vista de la mesa que la altura cambió ... pero aún así le pedirá al delegado la altura ... de ahí, mi problema.
¡Gracias por adelantado!