我有一個基於視圖的NSTableView
,我試圖自定義某些行的外觀。如何在界面生成器中製作NSTableRowView原型
我明白我需要實現標題中提到的委託方法;但是我不確定如何去做。
文檔說:
您可以使用委託方法的tableView:rowViewForRow:定製 行的意見。您通常使用Interface Builder在表格中設計和佈置NSTableRowView原型行。與原型 單元一樣,原型行在運行時以編程方式檢索。 NSTableRowView子類的實現完全是可選的。
但是,與單元不同,接口構建器中沒有NSTableRowView
類,也不清楚如何設置「原型」行視圖。
我想這樣的事情(SWIFT 3):
func tableView(_ tableView: NSTableView, rowViewForRow row: Int) -> NSTableRowView?
{
if (row % 4) == 0 {
// ..................................................
// [ A ] SPECIAL ROW:
if let rowView = tableView.make(withIdentifier: "SpecialRow", owner: self) as? NSTableRowView {
rowView.backgroundColor = NSColor.gray()
return rowView
}
else {
return nil
}
//^Always returns nil (Because I don't know how
// to setup the prototype in Interface Builder)
}
else{
// ..................................................
// [ B ] NORMAL ROW (No customization needed)
return nil
}
}
我有類似的代碼細胞 -i.e.,-tableView:viewForTableColumn:row:
工作。