Анимация автоматического ограничения макета не происходит внутри 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
?
1 ответ
Решение
Ты можешь попробовать
NSAnimationContext.runAnimationGroup({ (context) in
context.allowsImplicitAnimation = true
cell.progressWidthConstraint.animator().constant = CGFloat(progress)
context.duration = 0.3
cell.layoutSubtreeIfNeeded()
})