Tôi có một ứng dụng có chế độ xem NSTableView
trong đó. Bên trong dạng xem bảng này, tôi có các hàng có các ô có nội dung bao gồm nhiều hàng NSTextField
đã bật tính năng bọc từ. Tùy thuộc vào nội dung văn bản của NSTextField
, kích thước của các hàng cần thiết để hiển thị ô sẽ khác nhau.
Tôi biết rằng tôi có thể triển khai NSTableViewDelegate
phương thức - tableView:heightOfRow:
để trả về chiều cao, nhưng chiều cao sẽ được xác định dựa trên gói từ được sử dụng trên NSTextField
. Việc gói từ của cái NSTextField
cũng tương tự dựa trên độ rộng của cái NSTextField
là… được xác định bởi độ rộng của NSTableView
.
Soooo… Tôi đoán câu hỏi của tôi là… một mẫu thiết kế tốt cho việc này là gì? Có vẻ như mọi thứ tôi cố gắng đều trở thành một mớ hỗn độn phức tạp. Vì TableView yêu cầu kiến thức về chiều cao của các ô để sắp xếp chúng ... và NSTextField
kiến thức cần biết về bố cục của nó để xác định gói từ ... và ô cần kiến thức về gói từ để xác định chiều cao của nó ... đó là một mớ hỗn độn tròn ... và nó khiến tôi phát điên .
Gợi ý?
Nếu nó quan trọng, kết quả cuối cùng cũng sẽ có thể chỉnh sửa NSTextFields
sẽ thay đổi kích thước để điều chỉnh cho phù hợp với văn bản bên trong chúng. Tôi đã có tính năng này hoạt động ở mức chế độ xem, nhưng chế độ xem bảng chưa điều chỉnh độ cao của các ô. Tôi nghĩ rằng một khi tôi giải quyết được vấn đề chiều cao, tôi sẽ sử dụng noteHeightOfRowsWithIndexesChanged
phương thức - để thông báo cho chế độ xem bảng là chiều cao đã thay đổi… nhưng sau đó nó vẫn sẽ yêu cầu người đại diện cho biết chiều cao… do đó, câu hỏi của tôi.
Cảm ơn trước!