Анимация автоматического ограничения макета не происходит внутри 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()
})
Другие вопросы по тегам