gpt4 book ai didi

ios - uiimageview animationImages with uiimage "resizableImageWithCapInsets"

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:38:56 25 4
gpt4 key购买 nike

好吧,我有一个 UIImageView,我想通过“animationImages”为它的图像设置动画,正如您在此处看到的那样:

UIImage *img1 = [[UIImage imageNamed:@"image1.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(20, 150, 20, 150)];
UIImage *img2 = [[UIImage imageNamed:@"image2.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(20, 150, 20, 150)];
self.imgStatus.animationImages = [NSArray arrayWithObjects:img1, img2, nil];
self.imgStatus.animationDuration = 1;
self.imgStatus.contentMode = UIViewContentModeScaleToFill;
[self.imgStatus startAnimating];

两个图像的宽度小于 UIImageView 的宽度,因此我希望在动画显示它们时调整这些图像的大小。然而,动画不会使用“resizableImageWithCapInsets”进行任何调整,只是缩放它们以填充 UIImageView 的框架。

有什么想法吗?我该怎么做?

谢谢!!

最佳答案

好吧,我找到的解决方案是在开始动画之前必须调整数组的所有 UIImages 的大小。因此,我使用类似于 setter “setAnimationImages”的过程创建此类 UIImageView,但在其中所有 UIImages 都由 UIImageView 框架调整大小。 UIImageView 的“ContentMode”属性也设置为“UIViewContentModeScaleToFill”。

最后,每个 UIImage 之前设置“resizableImageWithCapInsets”以了解如何调整每个图像的大小非常重要。

例子:

#import "UIImageView+AnimationImages.h"

UIImage *img1 = [[UIImage imageNamed:@"image1.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(20, 150, 20, 150)];
UIImage *img2 = [[UIImage imageNamed:@"image2.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(20, 150, 20, 150)];

[self.imgView setAnimationImagesWithUIImageViewSize:[NSArray arrayWithObjects:img1, img2, nil]];

self.imgView.animationDuration = 1;

[self.imgView startAnimating];

可以找到这个类(UIImageView+AnimationImages)here

关于ios - uiimageview animationImages with uiimage "resizableImageWithCapInsets",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19904850/

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