gpt4 book ai didi

iphone - 围绕屏幕外的一个点旋转 UIImageView? (uiImageView 的中心

转载 作者:行者123 更新时间:2023-11-28 20:30:52 26 4
gpt4 key购买 nike

您好,我有一个 UIImageView,它部分在屏幕上,部分在屏幕外。

我想围绕屏幕外的一个点( View 的中心)旋转 View 。

我该怎么做?

fullRotationAnimation           = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
fullRotationAnimation.fromValue= [NSNumber numberWithFloat:0.0f];
fullRotationAnimation.toValue = [NSNumber numberWithFloat:2 * M_PI];
fullRotationAnimation.duration = 4;
fullRotationAnimation.repeatCount = 1;
[self->greyRings.layer addAnimation:fullRotationAnimation forKey:@"360"];

我目前正在使用该代码,但它只是围绕屏幕中心旋转。

有什么想法吗?

最佳答案

使用 block 动画:

- (void)rotateImageView:(UIImageView *)imageView aroundPoint:(CGPoint)point byAngle:(CGFloat)angle {

CGFloat sinA = sin(angle);
CGFloat cosA = cos(angle);
CGFloat x = point.x;
CGFloat y = point.y;

CGAffineTransform transform = CGAffineTransformMake(cosA,sinA,-sinA,cosA,x-x*cosA+y*sinA,y-x*sinA-y*cosA);

[UIView animateWithDuration:4.0 animations:^{
imageView.transform = transform;
}];
}

请注意角度以弧度为单位,因此完整旋转为 2.0*M_PI。

关于iphone - 围绕屏幕外的一个点旋转 UIImageView? (uiImageView 的中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12162374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com