我想在动画中显示图像的一部分。我在UIImageView
中放置UIScrollView
,并将UIImageView的帧设置为(0, 0, imageWidth, imageHeight)
,并将UIScrollView的帧宽度设置为{{ 1}}。这是我的代码
0
但是当我运行它时,整个图像立即显示,没有动画。
答案 0 :(得分:2)
您可以通过将UIImageView
s contentMode
设置为其中任何一个来显示图片的一部分(顶部,底部,左侧或右侧)
UIViewContentModeTop
UIViewContentModeBottom
UIViewContentModeLeft
UIViewContentModeRight
设置clipsToBounds = YES
并相应更改其框架。由于frame
是可动画的属性,因此此组合将允许您仅显示图像的一部分。
例如:如果您只想从底部显示20个点,请设置imageView.contentMode = UIViewContentModeBottom;
并将其frame
的高度设置为20
。无论你设置什么帧,图像都会保持在UIImageView
的下边缘。
参见示例代码:
UIImage *image = [UIImage imageNamed:@"myImage"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(0, 0, 0, 40);
imageView.contentMode = UIViewContentModeLeft;
imageView.clipsToBounds = YES;
[self.view addSubview:imageView];
CGRect finalFrame = imageView.frame;
finalFrame.size.width = 40;
[UIView animateWithDuration:1.0 animations:^{
imageView.frame = finalFrame;
}];
此代码通过将图像大小从0开始扩展为动画图像。