1

我有一个大纲视图,我能够实现鼠标悬停功能并使用鼠标悬停选择行NSTrackingArea。我在每个单元格的末尾都有按钮。

  1. 我想在开始时隐藏所有按钮。
  2. 在鼠标悬停时,按钮应该与选定的列单元格一起启用。

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
    }
}
4

0 回答 0