ฉันมีแอปพลิเคชันที่มีมุมมองตามอยู่NSTableView
ในนั้น ในมุมมองตารางนี้ฉันมีแถวที่มีเซลล์ที่มีเนื้อหาประกอบด้วยหลายแถวที่NSTextField
เปิดใช้งานการตัดคำ NSTextField
ขนาดของแถวที่จำเป็นในการแสดงเซลล์จะแตกต่างกันไปขึ้นอยู่กับเนื้อหาที่เป็นต้นฉบับ
ฉันรู้ว่าฉันสามารถใช้NSTableViewDelegate
วิธีนี้ได้ - tableView:heightOfRow:
เพื่อคืนความสูง แต่ความสูงจะถูกกำหนดตามการตัดคำที่ใช้ในไฟล์NSTextField
. การตัดคำในNSTextField
ทำนองเดียวกันขึ้นอยู่กับความกว้างของNSTextField
... ซึ่งกำหนดโดยความกว้างของNSTableView
.
เอาล่ะ…ฉันเดาว่าคำถามของฉันคือ…รูปแบบการออกแบบที่ดีสำหรับสิ่งนี้คืออะไร? ดูเหมือนว่าทุกสิ่งที่ฉันพยายามจะกลายเป็นเรื่องยุ่งเหยิงที่ซับซ้อน เนื่องจาก TableView ต้องการความรู้เกี่ยวกับความสูงของเซลล์ในการจัดวาง ... และNSTextField
ความต้องการความรู้เกี่ยวกับเลย์เอาต์ของมันเพื่อกำหนดการตัดคำ ... และเซลล์ต้องการความรู้เกี่ยวกับการตัดคำเพื่อกำหนดความสูง ... มันเป็นระเบียบแบบวงกลม ... และก็ขับรถฉันบ้า
ข้อเสนอแนะ?
หากเป็นเรื่องสำคัญผลลัพธ์สุดท้ายจะมีการแก้ไขNSTextFields
ซึ่งจะปรับขนาดเพื่อปรับให้เข้ากับข้อความภายใน ฉันมีสิ่งนี้ที่ใช้งานได้ในระดับมุมมองแล้ว แต่มุมมองตารางยังไม่ได้ปรับความสูงของเซลล์ ฉันคิดว่าเมื่อได้ปัญหาความสูงแล้วฉันจะใช้ - noteHeightOfRowsWithIndexesChanged
วิธีการเพื่อแจ้งให้มุมมองของตารางทราบว่ามีการเปลี่ยนแปลงความสูง ... แต่ก็ยังคงถามผู้ร่วมประชุมเกี่ยวกับความสูง ... ด้วยเหตุนี้ความไม่แน่ใจของฉัน
ขอบคุณล่วงหน้า!