gpt4 book ai didi

ios - iOS 中的 Imageview 旋转问题

转载 作者:行者123 更新时间:2023-11-29 10:54:59 26 4
gpt4 key购买 nike

我有下一个任务:点击按钮时图像必须旋转 90 度。

我的代码是:

#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIImageView *vector;
@end

=========

@interface ViewController ()

@end

@implementation ViewController
@synthesize vector;

- (void)viewDidLoad
{
[super viewDidLoad];
}
- (IBAction)rotateOn:(id)sender {
[self rotateImage:self.vector duration:2
curve:UIViewAnimationCurveEaseIn degrees:M_PI/2];
}

- (void)rotateImage:(UIImageView *)image duration:(NSTimeInterval)duration
curve:(int)curve degrees:(CGFloat)degrees
{
// Setup the animation
[UIView beginAnimations:NULL context:NULL];
[UIView setAnimationDuration:duration];
[UIView setAnimationCurve:curve];
[UIView setAnimationBeginsFromCurrentState:YES];
[image.layer setAnchorPoint:CGPointMake(0.5,0.5)];
CGAffineTransform transform =
CGAffineTransformMakeRotation(degrees);
image.transform = transform;
[UIView commitAnimations];
}




在点击按钮之前我有这个

Before Click


点击后

After Click

您可以看到该图像旋转了 90 度。但它从开始中心点向下移动。另外,如果我再次单击按钮,则什么也不会发生。

最佳答案

我假设您使用的是 iOS6 和 Storyboard,尝试在您的 Storyboard中禁用自动布局并再次测试动画。
如果它有效,并且想要保留自动布局功能,您将需要调整您的约束!

顺便说一下,默认的anchorPoint已经是(0.5, 0.5),这行不是必须的(除非你修改anchorPoint别处):

[image.layer setAnchorPoint:CGPointMake(0.5,0.5)];

关于ios - iOS 中的 Imageview 旋转问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18801817/

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