Mam aplikację z opartą na widoku NSTableView. W tym widoku tabeli znajdują się wiersze zawierające komórki zawierające zawartość składającą się z wielu wierszy NSTextFieldz włączonym zawijaniem wyrazów. W zależności od zawartości tekstowej NSTextFieldkomórki rozmiar wierszy potrzebnych do wyświetlenia komórki będzie różny.
Wiem, że mogę zaimplementować NSTableViewDelegatemetodę - tableView:heightOfRow:aby zwrócić wysokość, ale wysokość zostanie określona na podstawie zawijania słów użytego na NSTextField. Zawijanie wyrazów w NSTextFieldpodobny sposób opiera się na tym, jak szeroka NSTextFieldjest…, która jest określana przez szerokość NSTableView.
Soooo… Myślę, że moje pytanie brzmi… jaki jest dobry wzorzec projektowy do tego? Wygląda na to, że wszystko, czego próbuję, kończy się chaosem. Ponieważ TableView wymaga znajomości wysokości komórek, aby je ułożyć ... i NSTextFieldznajomości jego układu, aby określić zawijanie wyrazów ... a komórka potrzebuje wiedzy o zawijaniu słów, aby określić jej wysokość ... to okrągły bałagan ... i doprowadza mnie to do szaleństwa .
Propozycje?
Jeśli ma to znaczenie, wynik końcowy będzie również dostępny do edycji, NSTextFieldsktóry zmieni rozmiar, aby dopasować się do zawartego w nich tekstu. Mam już to działające na poziomie widoku, ale widok tabeli nie dostosowuje jeszcze wysokości komórek. Doszedłem do wniosku, że kiedy już rozwiążę kwestię wysokości, użyję noteHeightOfRowsWithIndexesChangedmetody - , aby poinformować widok stołu o zmianie wysokości… ale nadal będę pytać delegata o wysokość… stąd moja sprawa.
Z góry dziękuję!
