在UIImageView IOS中加载动画gif
我已将此gif文件保存到我的资产文件中 资产的名称正在加载,但当我添加以下代码时,会出现nullpointer异常错误:在UIImageView IOS中加载动画gif,ios,uiimageview,uiimage,gif,animated,Ios,Uiimageview,Uiimage,Gif,Animated,我已将此gif文件保存到我的资产文件中 资产的名称正在加载,但当我添加以下代码时,会出现nullpointer异常错误: let img = UIImage (named: "loading_apple") 那么如何显示此gif( 希望有人能帮助我。我建议你把那张gif的帧分开,然后用动画图像命名:duration:-你可以用类似的名字命名,但结尾要更改数字。例如: load-1.png load-2.png load-3.png等 Xcode将识别您想要的多个图像,并按顺序播放这些图像 请看
let img = UIImage (named: "loading_apple")
那么如何显示此gif(
希望有人能帮助我。我建议你把那张gif的帧分开,然后用
动画图像命名:duration:
-你可以用类似的名字命名,但结尾要更改数字。例如:
load-1.png
load-2.png
load-3.png
等
Xcode将识别您想要的多个图像,并按顺序播放这些图像
请看我建议使用FLAnimatedImage而不是存储gif文件,为什么不使用
CareReplicatorLayer
参考这个和这个,我在第二个类似的地方使用了相同的代码,并做了一些修改
func spinTheCustomSpinner() -> Void {
let aBar:CALayer = CALayer.init()
aBar.bounds = CGRectMake(0, 0, 8, 25);
aBar.cornerRadius = 4; //(8/2)
aBar.backgroundColor = UIColor.blackColor().CGColor
aBar.position = CGPointMake(150.0, 150.0 + 35)
let replicatorLayer:CAReplicatorLayer = CAReplicatorLayer.init()
replicatorLayer.bounds = CGRectMake(0, 0,300,300)
replicatorLayer.cornerRadius = 10.0
replicatorLayer.backgroundColor = UIColor.whiteColor().CGColor
replicatorLayer.position = CGPointMake(CGRectGetMidX(self.view!.bounds), CGRectGetMidY(self.view!.bounds))
let angle:CGFloat = CGFloat (2.0 * M_PI) / 12.0
let transform:CATransform3D = CATransform3DMakeRotation(angle, 0, 0, 1.0)
replicatorLayer.instanceCount = 12
replicatorLayer.instanceTransform = transform
replicatorLayer .addSublayer(aBar)
self.view!.layer .addSublayer(replicatorLayer)
aBar.opacity = 0.0
let animationFade:CABasicAnimation = CABasicAnimation(keyPath: "opacity")
animationFade.fromValue = NSNumber(float: 1.0)
animationFade.toValue = NSNumber(float: 0.0)
animationFade.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
animationFade.repeatCount = HUGE
animationFade.duration = 1.0
let aBarAnimationDuration:Double = 1.0/12.0
replicatorLayer.instanceDelay = aBarAnimationDuration
aBar .addAnimation(animationFade, forKey: "fadeAnimation")
}
如果你使用上面的视图,加载时显示此视图,加载后隐藏,这真的很酷很方便,而且存储gif文件和使用图像视图加载也不麻烦
通过改变aBar层的属性,你可以得到不同的效果。你确定这不是“加载”apple.gif吗?是的,我也尝试过加载apple.gif,其他格式也可以很好地使用图像文字:)我尝试过这样做:让img=UIImage.animatedImageNamed(“tmp”,持续时间:1.0)!,但我收到了相同的错误消息:“在展开可选值时意外地发现了nil”您收到了!很乐意帮忙