Ios 关闭viewcontroller时更改UIView的位置

Ios 关闭viewcontroller时更改UIView的位置,ios,uiview,uiviewcontroller,Ios,Uiview,Uiviewcontroller,我有一个视图控制器,它显示另一个视图控制器。当第二个被取消时,我在第一个控制器isFromSecondView中有一个布尔值,设置为true。因此,当我的第一个ViewController再次可见时,将调用viewWillAppear,我可以从此处在控制器中移动一些视图。此方法工作正常,ViewWillAspect方法可以确定它是否来自第二个视图控制器。但我无法在控制器内移动视图,即使正在调用它。这个方法是我应该这样做的吗,或者当第二个控制器被关闭时,是否有其他方法来移动视图 编辑,添加了视图移

我有一个视图控制器,它显示另一个视图控制器。当第二个被取消时,我在第一个控制器isFromSecondView中有一个布尔值,设置为true。因此,当我的第一个ViewController再次可见时,将调用viewWillAppear,我可以从此处在控制器中移动一些视图。此方法工作正常,ViewWillAspect方法可以确定它是否来自第二个视图控制器。但我无法在控制器内移动视图,即使正在调用它。这个方法是我应该这样做的吗,或者当第二个控制器被关闭时,是否有其他方法来移动视图

编辑,添加了视图移动方法:

- (void)moveViews
{
    NSLog(@"moving view");
    [UIView animateWithDuration:0.5
                     animations:^{
                         self.view.center = CGPointMake(160, 250);
                         //self.tableView.center = CGPointMake(160, -100);
                         self.addView.center = CGPointMake(160, 240);
                     }
                     completion:^(BOOL finished){}];
}

dismissViewControllerAnimated
有一个可以使用的完成处理程序。这将在控制器关闭后立即执行动画代码。当然,如果您在另一个控制器中使用此处理程序,则需要对该处理程序进行更改

[self dismissViewControllerAnimated:YES completion:^{
    NSLog(@"moving view");
    [UIView animateWithDuration:0.5
                     animations:^{
                         self.view.center = CGPointMake(160, 250);
                         //self.tableView.center = CGPointMake(160, -100);
                         self.addView.center = CGPointMake(160, 240);
                     }
                     completion:^(BOOL finished){}];
}

您可以在需要时使用ViewWillLayoutSubView(在控制器中)来布局视图

例如:

- (void)viewWillLayoutSubviews
{
  [super viewWillLayoutSubviews];
  // self.oneView.center = ...
  // self.anotherView.center = ...
}

你能发布一些关于
UIView
切换的代码吗?添加了从view调用的方法将出现在上面。是否
view
addView
?我已经试过了,代码已经运行了,但什么都没有发生。我想是因为某种原因,观点是零?你知道我该怎么解决吗?