UIImageView做动画的坑

animationimages数组设置多张图片,调用startanimatin可做动画,但在后台音频播放时动画可能不起作用。虽最后调用的是startanimating,但仍有问题。解决方案是用isanimating属性检测,若正在动画,先停止再重新启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

animationimages是一个数组.设置多张图片然后调用startanimatin即可做动画.

然而在做后台音频播放的时候有时候这个动画是不起作用的.而且据我写的通知的调用顺序来看.最后调用的确实是startanimating没错.

解决方案.

有个isanimating属性检测是否是在动画.在你要调动画的方法里头检测一下.如果当前"正在动画"(可能表现上是暂停的).就先让动画停止,然后再startanimaing

- (void)beginAnimation {
	if (self.isAnimating) {
		/// 先暂停再结束是因为有可能属性表现的是正在动画,但是实际上是没做动画.直接调用startAnimation是不会做动画的
		[self stopAnimation];
		[self startAnimation];
	} else {
		[self startAnimation];
	}	
}

- (void)endAnimation {
	if (!self.isAnimating) {
		/// 先开始再结束是因为有可能属性表现的是没做动画,但是实际上是正在动画.直接调用stopAnimation是不会停止做动画的
		[self startAnimation];
		[self stopAnimation];
	} else {
		[self startAnimation];
	}	
}

仔细想想水果还是挺坑的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值