뷰 기반 NSTableView
이 있는데 특정 행의 모양을 사용자 정의하려고합니다.Interface Builder에서 NSTableRowView를 프로토 타입하는 방법
제목에 언급 된 위임 메서드를 구현해야한다는 것을 알고 있습니다. 그러나 나는 그것을하는 방법에 대해 잘 모르겠습니다.
문서는 말한다 : 행보기를 사용자 정의 할 수 : rowViewForRow :
당신은 대리자 메서드의있는 tableView를 사용할 수 있습니다. 일반적으로 Interface Builder를 사용하여 NSTableRowView 테이블의 프로토 타입 행을 디자인하고 배치합니다. 프로토 타입 셀과 마찬가지로 프로토 타입 행은 런타임에 프로그래밍 방식으로 검색됩니다. NSTableRowView 서브 클래스의 구현은 전적으로 선택 사항입니다.
그러나, 세포와는 달리, 인터페이스 빌더에는 NSTableRowView
클래스가 없으며, 그것은 분명 설정하는 방법 "프로토 타입"행보기를합니다.
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:
근무 유사한 코드를 가지고 :
나는이 같은 (스위프트 3) 노력하고 있어요.