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