NSScrollView () тень не будет анимироваться через NSAnimationContext - PullRequest
0 голосов
/ 11 апреля 2020

В моем проекте XCode я объявляю тень вида прокрутки следующим образом:

var scrollView = NSScrollView()

override func viewDidLoad() {
    super.viewDidLoad()

    isScrollViewHidden = true
    view.addSubview(scrollView)
    scrollView.frame = NSRect(x: -380, y: 0, width: 300, height: view.bounds.height)
    scrollView.backgroundColor = NSColor(red: 188/255, green: 188/255, blue: 188/255, alpha: 1)

    scrollView.shadow = NSShadow()
    scrollView.shadow?.shadowColor = .black
    scrollView.shadow?.shadowOffset = NSMakeSize(0, 0)
    scrollView.shadow?.shadowBlurRadius = 50

}

У меня есть кнопка, которая перемещает вид прокрутки, используя frame.origin.x, но я также хотел бы анимировать цвет тени, но к сожалению это не работает. Вот код для анимации:

NSAnimationContext.runAnimationGroup({ (_) in
    NSAnimationContext.current.duration = 1.5
    isScrollViewHidden = false

    scrollView.animator().frame.origin.x = 0
    scrollView.animator().shadow?.shadowColor = NSColor(calibratedRed: 1, green: 1, blue: 1, alpha: 1)

}) {
    print("finished")
}

Почему анимация движения, а цвет бездействует?

...