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