iOS:动画 View 移回原始位置

标签 ios objective-c iphone

我正在尝试制作一个动画,其 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/

相关文章:

ios - 创建新文件并使用 NSFileManager objective c 读取它

ios - ReactiveCocoa : disposing of a repeating signal

iphone - OpenGL ES 2.0 衍生纹理

iphone - 释放由 GLKTextureLoader 分配的纹理(GLKTextureInfo 对象)

iphone - 适用于 iOS 4.0 应用程序的 NSFileProtectionComplete

iphone - iTunes 应用程序链接无法打开 iTunes

ios - CBCentralManager 在 iOS 中获取广告蓝牙 LE 设备的动态列表

ios - 我应该用什么替换核心数据?

ios - Xamarin:访问本地函数内的值

c++ - 如何在 ios 平台上使用 c++ 实现 GameCenter