
但是旋转图像有些麻烦.我希望它像这个链接一样旋转
https://github.com/yoavlt/LiquidFloatingActionButton
但我的按钮是:
正如你所看到的,当我第一次点击时,它运行良好:D,它变换为x,但是当我再次点击时,我希望它恢复原状,但它不能很好地运行.
这是我的代码:
import UIKitclass 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,animations: { self.floatingbutton.transform = CGAffinetransformMakeRotation(CGfloat(-M_PI_4)) },completion: { _ in self.floatingbuttonIsActive = false }) } }} 完成后将转换设置为CGAffinetransformIDentity.这是它最初的转变.设置变换时,无论当前处于什么角度,都会告诉它旋转到的绝对角度. func floatingbuttonTapped(sender: UITapGestureRecognizer) { if floatingbuttonIsActive == false { UIVIEw.animateWithDuration(0.5,animations: { self.floatingbutton.transform = CGAffinetransformMakeRotation(CGfloat(M_PI_4)) },completion: { _ in self.floatingbuttonIsActive = true }) } else { UIVIEw.animateWithDuration(0.5,animations: { self.floatingbutton.transform = CGAffinetransformIDentity },completion: { _ in self.floatingbuttonIsActive = false }) }} 总结 以上是内存溢出为你收集整理的swift – 旋转图像-45度全部内容,希望文章能够帮你解决swift – 旋转图像-45度所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)