Я пытаюсь свернуть NSSplitViewItem
вот так
NSAnimationContext.runAnimationGroup({ context in
context.duration = 0.1
context.allowsImplicitAnimation = true
searchItem.isCollapsed = collapsed
}, completionHandler: {
// do stuff
})
Независимо от того, что я установил для duration
, длительность анимации анимации коллапса не меняется.
Установка длительности на CATransaction
также не работает.
При проверке файлов заголовков упоминается следующее:
Точную используемую анимацию можно настроить, установив ее
в словаре -анимации с ключом «свернулся».
Это вызывает еще больше вопросов. Когда я устанавливаю эту анимацию? Какой ключевой путь я анимирую с этой анимацией? Что к / от значений он ожидает? и т.д ... Все, что я хочу сделать, это изменить его продолжительность.
Решение:
В соответствии с ответом @ Loengard, это то, что я пошел с
NSAnimationContext.runAnimationGroup { _ in
let animation = CABasicAnimation(keyPath: nil)
animation.duration = 0.1
searchItem.animations["collapsed"] = animation
searchItem.animator().isCollapsed = collapsed
}