2

I have an outlineview and I'm able to implement mouse hover feature and select row on hover of mouse using NSTrackingArea. I have buttons at the end of each cell.

  1. I want to hide all buttons in the beginning.
  2. On mouse hover, button should get enable with the selected column cell.

IMG

func configureTableHighlight() {
    
    let trackingArea = NSTrackingArea(rect: foldersOutlineView.frame, options: [.mouseMoved, .activeInKeyWindow, .inVisibleRect], owner: self, userInfo: nil)
    foldersOutlineView.addTrackingArea(trackingArea)
}

override func mouseMoved(with event: NSEvent) {
    let pointInTableView = foldersOutlineView.convert(event.locationInWindow, to: nil)
    let row = foldersOutlineView.row(at: pointInTableView)
    selectedRow  = row
    if row == -1 {
        //cell.btnScheduler.isHidden = true
        cell.btnScheduler.isTransparent = true
        cell.btnScheduler.isEnabled = false
        return
    }else{
        //cell.btnScheduler.isHidden = false
        cell.btnScheduler.isTransparent = false
        cell.btnScheduler.isEnabled = true
    }
}
Lakshmi Yadav
  • 156
  • 1
  • 10

0 Answers0