UIImageView 动画图像奇怪的行为

发布于 2024-10-04 10:17:32 字数 253 浏览 4 评论 0原文

我通过 NSArray arrayWithObjects 填充 UIImageview 的animationImages 字段。当我通过 UIImage imageNamed 将对象放入数组中时:UIImageview 按预期进行动画处理。但是,当我通过 UIImage alloc initWithContentsOfFile 将对象放入数组中时,我看不到动画图像(我只看到传递给 UIImageview 的 initWithImage 的默认图像)。有什么想法吗?

干杯!

I'm populating the animationImages field of my UIImageview via NSArray arrayWithObjects. When I put objects in the array via UIImage imageNamed: the UIImageview animates as expected. However when I put objects in the array via UIImage alloc initWithContentsOfFile I don't see the animated images (I just see the default image I pass to initWithImage for the UIImageview). Any ideas?

Cheers!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

世态炎凉 2024-10-11 10:17:32

这是因为 imageNamed:initWithContentsOfFile: 都在不同的目录中查找。 imageNamed: 会在您的包目录中查找,而 initWithContentsOfFile: 不会。

如果您有这样的代码:

NSString *file = @"image.png";
UIImage *image = [UIImage imageNamed:file];

但您想使用 initWithContentsOfFile:,则应该使用以下代码:

NSString *file = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:file];

That is because imageNamed: and initWithContentsOfFile: both look in different directories. imageNamed: looks in your bundle directory, initWithContentsOfFile: does not.

If you have code like this:

NSString *file = @"image.png";
UIImage *image = [UIImage imageNamed:file];

But you want to use initWithContentsOfFile:, you should use this code:

NSString *file = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:file];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文