Аниматор с рисованием (прямоугольник) - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть пользовательская реализация UIButton с несколькими простыми анимациями, основанными на различных сенсорных событиях.

addTarget(self, action: #selector(touchDown), for: [.touchDown, .touchDragEnter])
addTarget(self, action: #selector(touchUp), for: [.touchUpInside, .touchDragExit, .touchCancel])

  @objc private func touchDown() {
    animator.stopAnimation(true)
    backgroundColor = delegate.highlightColor.background
    setTitleColor(delegate.highlightColor.foreground, for: .normal)
    setTitleColor(delegate.highlightColor.foreground, for: .highlighted)
  }

  @objc private func touchUp() {
    animator = UIViewPropertyAnimator(duration: 0.5, curve: .easeOut, animations: {
      self.backgroundColor = self.buttonColor.background
      self.setTitleColor(self.buttonColor.foreground, for: .normal)
    })
    animator.startAnimation()
  }

Все работает нормально для большинства моих кнопок, за исключением нескольких, где я должен сделать несколько пользовательских рисунков с помощьюиспользуя ничью (прямоугольник).Может показаться, что вы не можете использовать draw (rect), если анимируете такие вещи, как backgroundColor.

Есть какие-нибудь подсказки, как заставить это работать?

...