围绕底部旋转图像?
Rotate image around the bottom?
假设我有一个时钟,我想将时针视图旋转到某个小时,假设它是 UIImageView
,它的底部正好在屏幕的中心,所以旋转底部是锚点,我做:
hour.layer.anchorPoint = CGPointMake(0.5,1.0);
let angle:CGFloat = (5.0 / 12.0) * (3.14 * 2.0);
hour.transform = CGAffineTransformMakeRotation(angle);
但是发生的事情是它从他原来的位置移动,并且改变了角度。
我不明白你是怎么设置锚点的?关于.. ?
原来是先设置anchor,然后才设置view的frame,如果先设置frame再换anchor,会得到错误的anchor。
所以代码是:
hour.layer.anchorPoint = CGPointMake(0.5,1.0);
hour.frame=CGRectMake(self.frame.size.width/2.0-hourW/2.0, self.frame.size.height/2.0-hourH, hourW,hourH)
self.addSubview(hour)
hour.layer.anchorPoint = CGPointMake(0.5,1.0);
let angle:CGFloat = (5.0 / 12.0) * (3.14 * 2.0);
hour.transform = CGAffineTransformMakeRotation(angle);
假设我有一个时钟,我想将时针视图旋转到某个小时,假设它是 UIImageView
,它的底部正好在屏幕的中心,所以旋转底部是锚点,我做:
hour.layer.anchorPoint = CGPointMake(0.5,1.0);
let angle:CGFloat = (5.0 / 12.0) * (3.14 * 2.0);
hour.transform = CGAffineTransformMakeRotation(angle);
但是发生的事情是它从他原来的位置移动,并且改变了角度。
我不明白你是怎么设置锚点的?关于.. ?
原来是先设置anchor,然后才设置view的frame,如果先设置frame再换anchor,会得到错误的anchor。
所以代码是:
hour.layer.anchorPoint = CGPointMake(0.5,1.0);
hour.frame=CGRectMake(self.frame.size.width/2.0-hourW/2.0, self.frame.size.height/2.0-hourH, hourW,hourH)
self.addSubview(hour)
hour.layer.anchorPoint = CGPointMake(0.5,1.0);
let angle:CGFloat = (5.0 / 12.0) * (3.14 * 2.0);
hour.transform = CGAffineTransformMakeRotation(angle);