【发布时间】:2010-03-18 22:46:56
【问题描述】:
我正在尝试在屏幕上制作带有颜色渐变的水平条的动画。为简单起见,我选择制作完全扩展栏的 png,将其分配给 UIImageView,并(尝试)使用 UIView 动画对其大小进行动画调整。问题是在图像的“关闭”状态下,显示的图像部分不是我想要的部分。图像的排列方式是从 L 到 R,出现白色到红色的渐变。右侧(约 20 像素)为纯红色,是我想要在栏“折叠”时显示的部分。我正在尝试将图像扩展大约 100 像素到其全宽。我为我的代码引用了“立即购买”按钮示例,因为它看起来很相关“
UIButton AppStore buy button animation
我的代码:
[UIView beginAnimations:@"barAnimation" context:nil];
[UIView setAnimationDuration:0.6];
CGRect barFrame = bookBar.bounds;
if (fExtendBar)
{
barFrame.origin.x -= 100;
barFrame.size.width += 100;
}
else
{
barFrame.origin.x += 100;
barFrame.size.width -= 100;
}
bookBar.frame = barFrame;
[UIView commitAnimations];
我觉得这应该是可能的,也许通过设置一个“offsetOfImage”来显示在 UIImageView 中,但我似乎无法让它工作。此外,我注意到当您调整图像大小时,该行为与 Interface Builder 中发生的情况有些一致。再说一次,我认为会有一种方法可以以编程方式覆盖这种行为。欢迎任何建议(包括其他方法)。
谢谢, 克里斯.o.
【问题讨论】:
标签: iphone animation uiimageview