gpt4 book ai didi

iphone - 动画 UIImage 或 UIImageView?

转载 作者:可可西里 更新时间:2023-11-01 03:27:54 27 4
gpt4 key购买 nike

我正在尝试对图像的高度(从 0 像素到 480 像素的高度)进行动画处理,以创建图像自上而下呈现的效果。

对于 UIImageView,我注意到它在 Interface Builder 中显示正确。但是当它在模拟器中运行时,大小(宽度和高度)总是设置为图像的大小;也就是说,如果我将 ImageView 的高度设置为原始高度的 50%,图像仍会以全高呈现。

我也试过用 UIImage 做这个效果。然而,虽然图像的尺寸看起来正确,但图像会被缩放以反射(reflect)尺寸/纵横比。

问题:我怎样才能在不缩放图像的情况下实现这种动态调整(即图像大小的动画)?我考虑过使用 CGImageCreateWithMask,但我很确定这会造成巨大的性能问题。

* 更新 *

我要的效果是这样的:通过使图像从上到下变高来为图像制作动画(就像在 window 上拉动一组百叶窗)。此图像无法缩放(因为它会失去看起来像“盲人”的视觉效果)。此图像还必须在另一个图像之上呈现。所以总共有 2 张图像。

* 回答 *

对于最顶部的 ImageView ,我将内容模式设置为顶部(因此它不会缩放)。然后在代码中,我将 clipsToBounds 设置为 True。现在我可以为最顶部的 imageview 高度设置动画,从而获得我正在寻找的效果。

最佳答案

像这样使用动画 block :

imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 0)];
imageView.image = ...;
[imageView setClipsToBounds:YES];
[imageView setContentMode:UIViewContentModeTop];

[self.view addSubview:imageView];
[imageView release];

[UIView animateWithDuration:4.0f
delay:1.0f
options:UIViewAnimationOptionCurveEaseIn
animations:^(void) {
imageView.frame = CGRectMake(0, 0, 320, 480);
}
completion:NULL];

关于iphone - 动画 UIImage 或 UIImageView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4772736/

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