2015-03-25 42 views
0

當您使用默認的基於單元格的NSTableView並雙擊列中的調整大小點時,該列將調整爲該寬度,內容中最長文本的長度是多少。基於單元格的NSTableView在調整點大小時調用函數是雙擊?

我必須在基於視圖的NSTableView中調用哪些函數才能獲得相同的效果?

編輯:功能是什麼,我錯過了:

func tableView(tableView: NSTableView, sizeToFitWidthOfColumn column:Int) -> CGFloat 

但我怎麼可以從我的所有stringValues獲得最大的寬度是多少?

回答

1

你可以在這樣的列中獲取的所有行的最大寬度:

var width: CGFloat = 0 
for i in 0...(tableView.numberOfRows-1) { 
    let view = tableView.viewAtColumn(column, row: i, makeIfNecessary: true) as! NSTableCellView 
    let size = view.textField!.attributedStringValue.size() 
    width = max(width, size.width) 
} 
return width+20 //add an optional padding 
+0

非常感謝您! – Prontto 2015-09-02 07:18:27

相關問題