gpt4 book ai didi

ios - 带有自定义图像的事件指示器

转载 作者:技术小花猫 更新时间:2023-10-29 10:19:25 28 4
gpt4 key购买 nike

我正在加载一个 UIWebView,同时我不想用这个 spinner 显示空白页面事件指示器旋转(Siri 事件指示器)。据我了解,您不能更改图像,但我不能使用该图像并创建一个 360° 旋转并循环播放的动画吗?还是会耗尽电池?

是这样的吗?

- (void)webViewDidStartLoad:(UIWebView *)webView {
//set up animation
[self.view addSubview:self.loadingImage];
//start animation
}

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
//stop animation
[self.loadingImage removeFromSuperview];
}

我该怎么办?

提前致谢!

最佳答案

大部分内容都可以在 Stack Overflow 中找到。让我总结一下:

创建一个 UIImageView,它将作为一个事件指示器(在 Storyboard场景、NIB、代码......任何你想要的地方)。我们称它为 _activityIndi​​catorImage

载入你的图片:_activityIndi​​catorImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"activity_indicator"]];

您需要使用动画来旋转它。这是我使用的方法:

+ (void)rotateLayerInfinite:(CALayer *)layer
{
CABasicAnimation *rotation;
rotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
rotation.fromValue = [NSNumber numberWithFloat:0];
rotation.toValue = [NSNumber numberWithFloat:(2 * M_PI)];
rotation.duration = 0.7f; // Speed
rotation.repeatCount = HUGE_VALF; // Repeat forever. Can be a finite number.
[layer removeAllAnimations];
[layer addAnimation:rotation forKey:@"Spin"];
}

在我的 layoutSubviews 方法中,我启动了旋转。如果这对您的情况更好,您可以将它放在您的 webViewDidStartLoadwebViewDidFinishLoad 中:

- (void)layoutSubviews
{
[super layoutSubviews];

// some other code

[Utils rotateLayerInfinite:_activityIndicatorImage.layer];
}

您始终可以使用 [_activityIndi​​catorImage.layer removeAllAnimations];

停止旋转

关于ios - 带有自定义图像的事件指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21206745/

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