0

我经常需要对视图进行动画处理并将其动画化回其原始值。(类似于放大UIImageViewTap返回)

是否有更优雅的解决方案来跟踪原始值,而不是创建类字段并将它们分配给viewDidLoad?

你们如何处理这样的行为?

4

2 回答 2

1

如果您将转换应用于视图,您可以在完成后将其设置回身份转换。这段代码创建了一个可以放大和缩小的基本切换。

// Check to see if the current transform is identity which means
// no transform applied. If it is, scale the view. Otherwise, 
// set it back to identity.
CGFloat scale = 3.0f;
if (CGAffineTransformIsIdentity([_imageView transform])) {
  [_imageView setTransform:CGAffineTransformMakeScale(scale, scale)];
} else {
  [_imageView setTransform:CGAffineTransformIdentity];
}

这使您不必跟踪起始值是什么。

于 2013-04-10T23:11:57.057 回答
0

您跟踪类中初始原始值的解决方案正是我这样做的方式。那里没有不雅,只是你必须做的事情。我不知道任何其他解决方案。

于 2013-04-10T13:01:54.970 回答