我经常需要对视图进行动画处理并将其动画化回其原始值。(类似于放大UIImageView
和Tap
返回)
是否有更优雅的解决方案来跟踪原始值,而不是创建类字段并将它们分配给viewDidLoad
?
你们如何处理这样的行为?
我经常需要对视图进行动画处理并将其动画化回其原始值。(类似于放大UIImageView
和Tap
返回)
是否有更优雅的解决方案来跟踪原始值,而不是创建类字段并将它们分配给viewDidLoad
?
你们如何处理这样的行为?
如果您将转换应用于视图,您可以在完成后将其设置回身份转换。这段代码创建了一个可以放大和缩小的基本切换。
// 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];
}
这使您不必跟踪起始值是什么。
您跟踪类中初始原始值的解决方案正是我这样做的方式。那里没有不雅,只是你必须做的事情。我不知道任何其他解决方案。