gpt4 book ai didi

xcode - CABasicAnimation 不适用于 UIImageView

转载 作者:行者123 更新时间:2023-12-04 14:00:26 25 4
gpt4 key购买 nike

我有一个以编程方式调用的 UIImageView,我试图让它旋转但它不起作用。图像将放置在动态 UITableView 中(我无法将其更改为静态)。该图像在我的表格 View 中显示良好,但它只是不旋转。

- (void)viewDidLoad
{
[super viewDidLoad];

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 122, 38, 38)];
imageView.image = [UIImage imageNamed:@"settings1.png"];

[self.view addSubview:imageView];

CABasicAnimation *spin;
spin = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
spin.fromValue = [NSNumber numberWithFloat:0];
spin.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
spin.duration = 4;
spin.repeatCount = 10*1000;

[imageView.layer addAnimation:spin forKey:@"360"];

最佳答案

这可能是因为您试图在 viewDidLoad 中启动动画。我建议您重新组织您的代码,以便您在 viewDidLoad 中创建 ImageView 实例,然后等到 viewDidAppear: 被调用以实际启动动画。

@property (strong, nonatomic) UIImageView *imageView;

进而
- (void)viewDidLoad
{
[super viewDidLoad];

self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 122, 38, 38)];
self.imageView.image = [UIImage imageNamed:@"settings1.png"];

[self.view addSubview:self.imageView];
}

- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];

CABasicAnimation *spin = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
spin.fromValue = [NSNumber numberWithFloat:0];
spin.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
spin.duration = 4;
spin.repeatCount = 10*1000;

[self.imageView.layer addAnimation:spin forKey:@"360"];
}

关于xcode - CABasicAnimation 不适用于 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24113490/

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