Я строил пример о FloatingButton.Повернуть изображение -45 градусов
Но у меня есть проблемы с поворотным изображением. Я хочу, чтобы повернуть, как эту ссылку
https://github.com/yoavlt/LiquidFloatingActionButton
Но моя кнопка:
Как вы можете видеть, когда я нажимаю в первый раз, он хорошо работать: D, это преобразовать, как x
, но когда я нажимаю снова, я хочу, чтобы он вернулся к оригиналу, как +
, но он не работает.
Вот мой код:
import UIKit
class ViewController: UIViewController {
@IBOutlet var floatingButton: UIImageView!
var floatingButtonIsActive = false
override func viewDidLoad() {
super.viewDidLoad()
addShadowToFloatingButton()
let gesture = UITapGestureRecognizer(target: self, action: #selector(floatingButtonTapped(_:)))
floatingButton.addGestureRecognizer(gesture)
}
private func addShadowToFloatingButton() {
floatingButton.layer.shadowColor = UIColor.grayColor().CGColor
floatingButton.layer.shadowOffset = CGSize(width: -2, height: 2)
floatingButton.layer.shadowOpacity = 1
floatingButton.layer.shadowRadius = 1
}
func floatingButtonTapped(sender: UITapGestureRecognizer) {
if floatingButtonIsActive == false {
UIView.animateWithDuration(0.5, delay: 0.0, usingSpringWithDamping: 0.5, initialSpringVelocity: 5, options: .CurveEaseInOut, animations: {
self.floatingButton.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_4))
}, completion: { _ in
self.floatingButtonIsActive = true
})
} else {
UIView.animateWithDuration(0.5, delay: 0.0, usingSpringWithDamping: 0.5, initialSpringVelocity: 5, options: .CurveEaseInOut, animations: {
self.floatingButton.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI_4))
}, completion: { _ in
self.floatingButtonIsActive = false
})
}
}
}
Вы можете снова повернуть на 45 градусов. Он будет иметь такой же эффект. self.floatingButton.transform = CGAffineTransformMakeRotation (CGFloat (M_PI_4)) –
Нет, это не сработает, как вы сказали. – Khuong