我正在尝试制作一个动画,其 View 只是将 Y 轴向上移动大约 50 点。 动画可以工作,但是一旦完成,它就会返回到原来的位置。
UIView* view = [self.view viewWithTag:50];
[UIView animateWithDuration:0.5
delay:0.1
options: UIViewAnimationOptionCurveEaseOut
animations:^
{
CGRect frame = view.frame;
frame.origin.y = 230;
frame.origin.x = 30;
view.frame = frame;
}
completion:^(BOOL finished)
{
NSLog(@"Completed");
}];
最佳答案
你的布局限制将把它拉回来。这是目前一个非常普遍的问题。您必须修改 NSLayoutConstraint 对象以反射(reflect) View 的更改。
例如约束.constant += 50;
在提问之前搜索堆栈溢出以查找其他问题,例如您想问的问题。
关于iOS:动画 View 移回原始位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27081318/