Nstableview,自定义tablecellview不显示任何数据

时间:2016-07-26 07:38:56

标签: macos cocoa swift2

Tableview正在加载但未显示自定义单元格的任何插座

class ViewController: NSViewController,NSTableViewDataSource,NSTableViewDelegate {

override func viewDidLoad() {
    super.viewDidLoad()
    //let color : CGColorRef = CGColorCreateGenericRGB(1.0, 0, 0, 1.0)
   self.view.layer?.backgroundColor = NSColor.whiteColor().CGColor       

    // Do any additional setup after loading the view.
}

override var representedObject: AnyObject? {
    didSet {
    // Update the view, if already loaded.
    }
}

func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {       

    let cell = tableView.makeViewWithIdentifier("AppointmentCell", owner: self)  as! AppointmentCell!

    if tableColumn!.identifier == "Column" { 
        return cell
    }
    return cell  
}

func numberOfRowsInTableView(tableView: NSTableView) -> Int {
    return 5
}

 func tableView(tableView: NSTableView, heightOfRow row: Int) -> CGFloat
 {
    return 100        
}
}
class AppointmentCell: NSTableCellView {
    @IBOutlet weak var Start: NSButton!
    @IBOutlet weak var Increment: NSButton!
    @IBOutlet weak var decrement: NSButton!
    @IBOutlet weak var addNotes: NSButton!

    override func drawRect(dirtyRect: NSRect) {
        super.drawRect(dirtyRect)    
        // Drawing code here.
    }        
}

1 个答案:

答案 0 :(得分:0)

您需要检查细胞是否存在。 从tableview中取出单元格视图后,应在单元格视图中设置内容。 它通常发生在 func tableView(tableView:NSTableView,viewForTableColumn tableColumn:NSTableColumn?,row:Int) - >的NSView?