[英]Changing position of UIViews when viewcontroller is dismissed
我有一個ViewController提出了另一個視圖控制器。 當第二個被關閉時,我在第一個控制器中有一個布爾值isFromSecondView設置為true。 因此,當我的第一個ViewController再次可見時,將調用viewWillAppear,我可以從那里在控制器內的某些視圖之間移動。 該方法可以正常工作,並且viewWillAppear方法可以確定它是否來自第二個視圖控制器。 但是,即使調用了它,我也無法在控制器內部移動視圖。 是我應該這樣做的方法,還是在第二個控制器被解雇時有另一種移動視圖的方法?
編輯,添加了視圖移動方法:
- (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){}];
}
您可以在需要時使用viewWillLayoutSubviews(在控制器中)來布局視圖。
例:
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
// self.oneView.center = ...
// self.anotherView.center = ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.