iOS:在模式视图“左”中更改UIImageView的宽度

时间:2013-11-19 12:48:50

标签: ios uiimageview uianimation cgsize

我有一个UIImageView,这个: enter image description here

我想做一个从左边慢慢显示这个图像视图的动画。 然后我在xib中使用模式“left”裁剪此imageview,我想用这段代码放大它。 我在3点处裁剪宽度,从尺寸(3,28)开始,它应该以尺寸(620,28)结束

我使用此代码执行此操作:

[UIView beginAnimations:@"moveprogress" context:nil];
    [UIView setAnimationDuration:7.0];
    [UIView setAnimationDelegate:self];
    [progressBar setFrame:CGRectMake(progressBar.frame.origin.x, progressBar.frame.origin.y, 620, progressBar.frame.size.height)];
    [UIView commitAnimations];

但动画不起作用,它会立即显示完整尺寸的imageview。为什么呢?

1 个答案:

答案 0 :(得分:0)

//initial frame
CGRect initalImageFrame = [imageView frame];
initalImageFrame.size.width = 3.0f;
[imageView setFrame:initalImageFrame];


//animation

CGRect fullImageFrame = [imageView frame];
fullImageFrame.size.width = 640.0f;
[UIView animateWithDuration:7.0f animations:^{
    [imageView setFrame:fullImageFrame];
}];