NSTableCellView 内部未发生自动布局约束的动画

Animation of Auto Layout Constraint Not Happening inside NSTableCellView

我正在尝试获取自动布局约束以在 NSTableCellView 内使用动画进行更新。约束更新正常,但动画没有发生。

下面的代码在tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int)里面执行:

NSAnimationContext.runAnimationGroup({ (context) in
  context.allowsImplicitAnimation = true
  context.duration = 0.3
  cell.progressWidthConstraint.constant = CGFloat(progress)
  cell.layoutSubtreeIfNeeded()
})

cell 是我的 NSTableCellViewprogressWidthConstraint 是单元格内 NSView 的宽度限制。

我需要做些什么才能让动画在 NSTableCellView 中工作吗?

你能试试吗

NSAnimationContext.runAnimationGroup({ (context) in
  context.allowsImplicitAnimation = true
  cell.progressWidthConstraint.animator().constant = CGFloat(progress)
  context.duration = 0.3
  cell.layoutSubtreeIfNeeded()
})