ios-transform的rotated的应用

来源:互联网 发布:花落知多少图片 编辑:程序博客网 时间:2024/06/01 07:32

在Swift我们可能都使用过self.iconView.transform.rotated(by: CGFloat(2*Double.pi)),这个代码,然而如果我们直接这么写,这个view是不会旋转的,因为这个旋转动画的特点就是顺时针优先的原则和就近原则,比如你正好让它转一圈,它觉得呆着不动挺好了,就不会去转了,这个时候如果我们稍微改变下旋转的角度就不一样了,还有就是如果我们想要改变旋转控件的方向应该怎么改?其实运用下就近原则就可以了。

代码如下所示

 UIView.animate(withDuration: 0.5) {                        //设置旋转的角度            var angle = CGFloat(Double.pi)                        //如果rotateFlag为真也就是下拉的时候让它的角度加一点点,这样就会选择近一点的逆时针的转上来            //如果rotateFlag为假的时候,让它转的角度减那么一点点,这样它            //做的标记,判断是要往那边转方向            angle+=self.rotateFlag ? 0.0000001:-0.0000001                        self.iconView.transform = self.iconView.transform.rotated(by:angle)        }

效果图如下所示,从右边上来的


原创粉丝点击