我正在尝试获取自动布局约束,以在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
是我的NSTableCellView
,progressWidthConstraint
是单元格内NSView
上的宽度约束。
要让动画在NSTableCellView
中工作,我需要做些特别的事情吗?
答案 0 :(得分:1)
你能尝试
NSAnimationContext.runAnimationGroup({ (context) in
context.allowsImplicitAnimation = true
cell.progressWidthConstraint.animator().constant = CGFloat(progress)
context.duration = 0.3
cell.layoutSubtreeIfNeeded()
})