我想在有人触摸它时将视图动画到指定的原点,然后每当用户再次触摸它时返回到其原始位置。我在故事板中使用 AutoLayout 来对齐我的视图。它首先以完美的位置向上,但不会完美地回到原来的位置。我在 viewDidLoad 方法中将凝视原点值存储在 CGFloat 变量中,然后重新分配该对象以恢复视图。这是我向上的代码动画(这是完美的)
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.2];
CGRect frame = _pickLocationView.frame;
frame.origin.y = _cityLabelView.frame.origin.y;
_pickLocationView.frame = frame;
[UIView commitAnimations];
向下动画。(这个方法有问题)
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.2];
CGRect frame = _pickLocationView.frame;
frame.origin.y = kDefaultOriginOfPickLocationView;
_pickLocationView.frame = frame;
[UIView commitAnimations];