我试图给图像的高度(从0像素到480像素的高度)设置动画效果,以创建自上而下呈现图像的效果。动画UIImage或UIImageView?
使用UIImageView我注意到它在界面生成器中显示正确。但是当它在模拟器中运行时,尺寸(宽度和高度)总是设置为图像的大小;意思是说,如果我将图像视图的高度设置为原始高度的50%,则图像仍然呈现为全高。
我也试过用UIImage做这个效果。但是,虽然图像的大小看起来正确,但图像的大小和纵横比都会反映出来。
问题: 如何在不缩放图像的情况下实现这种动态调整大小(即图像大小的动画)?我想过使用CGImageCreateWithMask,但我很确定这会造成巨大的性能问题。
*更新*
,即时通讯寻找的大意是这样的: 通过使它成长的高度,从自顶向下(就像一组百叶窗被拉到一个窗口)动画图像。该图像不能缩放(因为它会失去看起来像“盲目”的视觉效果)。此图片还必须呈现在另一张图片的顶部。所以共有2张图片。
*答案*
对于最顶层的ImageView,我设置了内容模式顶部(所以它不规模)。然后在代码中,我将clipsToBounds设置为True。现在,我可以为最顶级的imageview高度设置动画效果,从而为我提供所需的效果。
我可以达到即时通讯使用UIViewContentModeTop即时通讯的效果。再次,这种效应在IB中看起来是正确的。但是当我在模拟器中运行时,图像始终显示为图像的实际尺寸(而不是我在IB中指定的尺寸)。 – AlvinfromDiaspar 2011-01-23 07:45:23
我对你的描述感到困惑。 1)你可以发布一些屏幕截图吗? 2)虽然在IB中有一组设置,但您的代码可能在运行时修改/覆盖了它们。 3)模拟器可能不准确,请尝试在真正的iPhone上进行测试。 – 2011-01-23 07:55:28
想象一下,在非常慢的连接上呈现网页。你基本上看到的页面是从上到下绘制的。基本上我想通过缓慢地将图像的高度从y = 0增加到y = 480来创建这种效果,其中图像是320x480图像(UIImage或UIImageView)。内容模式被定义为Top(以便图像边界被调整大小时,图像不会缩放)。 – AlvinfromDiaspar 2011-01-23 08:12:16