Я хочу, чтобы скопировать эту анимацию в моем проектесжиматься ширину кнопки с выпуском анимации
Так что я сделал попытку это:
Для преобразования масштаба X .. но проблема заключается также в сокращении названия кнопки.
self.transform = CGAffineTransform.identity UIView.animate(withDuration: duration, delay: delayTime, usingSpringWithDamping: 0.7, initialSpringVelocity: 0.7, options: [.curveEaseIn], animations: { self.transform = CGAffineTransform(scaleX: 0.5, y: 1.0) }, completion: nil)
Это то, что она дает (название кнопки также сжимается)
Использование
CASpringAnimation
let shrinkAnim = CASpringAnimation(keyPath: "bounds.size.width") shrinkAnim.damping = 0.7 shrinkAnim.initialVelocity = 0.7 shrinkAnim.fromValue = frame.width shrinkAnim.toValue = width shrinkAnim.dura[![enter image description here][3]][3]tion = duration shrinkAnim.timingFunction = getTimingFunction(curve: curve) shrinkAnim.fillMode = kCAFillModeForwards shrinkAnim.isRemovedOnCompletion = false layer.add(shrinkAnim, forKey: shrinkAnim.keyPath)
Так что мой вопрос: что происходит не так, или что мне нужно добавить, чтобы воспроизвести первое изображение?
Мои ограничения для кнопки прикреплены к левому, правому и нижнему краям и фиксируют высоту. и больше я делаю класс для этого, поэтому я не могу изменить константы, потому что я должен использовать это на многих экранах .. поэтому я хочу одностановить решение.
Я думаю, что когда мы анимируем представления, мы должны удалить ограничения и установить кадры по коду. –
@RajanMaheshwari это ??? Я действительно не думаю, что так .. может быть, вы правы, но я не уверен, что нам нужно удалить ограничения для анимации. –