0

我尝试使用imageView.animationImages和调用来缩放正在运行图像序列的 UIImageView[self.imageView startAnimating];

- (void) updateViewSizeWithScale:(float) scale
{
    // calculate the new size based on the scale
    int newSize = originalSize * scale;

    [UIView animateWithDuration:0.4 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
    self.imageView.frame = CGRectMake(self.imageView.frame.origin.x, self.imageView.frame.origin.y, newSize, newSize);
       } completion:^(BOOL finished) {

    }];

这不会像动画图像运行时那样缩放 UIImageView。我试图在动画块中设置 self.frame(self 是 UIView 子类),但它不会缩放 imageview。

在容器视图中运行图像序列并缩放容器以使图像在序列运行时缩放的最佳方法是什么?

我应该使用层还是更低级别的 API?

4

2 回答 2

1

我昨天遇到了同样的问题,在设置了两件事后它就起作用了:

self.imageView.clipsToBounds = YES; 
self.imageView.contentMode = UIViewContentModeScaleAspectFit; 

希望对你有效。

于 2013-06-04T20:06:33.167 回答
0

考虑使用 CGAffine 转换来完成这项工作:

[UIView animateWithDuration:0.4 delay:0.0 UIViewAnimationOptionCurveEaseInOut animations:^{
  CGAffineTransform newScale = CGAffineTransformMakeScale(2.0, 2.0);
  CGAffineTransform newTranslate = CGAffineTransformMakeTranslation(10.0, 10.0);

  self.myImageView.transform = CGAffineTransformConcat(newScale, newTranslate);
  } 
  completion:^(BOOL finished) {

 }
];
于 2013-06-04T19:47:23.000 回答