CGFloat angle = 10 * M_PI / 180.f;view.transform = CGAffineTransformMakeRotation(angle);
1 回答

梵蒂岡之花
TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊
我改為view.layer.transform = CATransform3DMakeRotation(angle, 0, 0, 1)去測試,發(fā)現(xiàn)只有相對(duì)于z軸旋轉(zhuǎn)時(shí)有問題,看起來不像是繞z軸旋轉(zhuǎn)
如果使用動(dòng)畫的方式來進(jìn)行旋轉(zhuǎn)就沒有問題??!
CABasicAnimation *circleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];view.duration = 0;view.repeatCount = 1;view.toValue = @(angle);view.removedOnCompletion = NO;view.fillMode = kCAFillModeForwards;[view.layer addAnimation:circleAnimation forKey:@"rotation"];
原因是使用CATransform3DMakeRotation后修改了坐標(biāo)系,那么接下來是不能夠在此設(shè)置其所在視圖的frame的。這里我多次設(shè)置了其frame所以導(dǎo)致該問題
- 1 回答
- 0 關(guān)注
- 1637 瀏覽
添加回答
舉報(bào)
0/150
提交
取消