ios-transform的rotated的应用

在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)
        }

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值