我希望有一个UINavigationController
悬停在当前屏幕上,而不是向下“翻译”屏幕以便为它腾出空间。
目前我的实施方式如下:
UIBarButtonItem* backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonSystemItemCancel target:self action:@selector(backButtonTapped)];
[self.navigationItem setBackBarButtonItem:backButton];
所以每当我显示navigationItem时会发生什么,它会自动向下滑入屏幕,翻译整个屏幕。然后当我隐藏它时,它会滑出,拉回整个屏幕。我希望它可以悬停,即屏幕的位置保持不变。谢谢!
答案 0 :(得分:0)
根据问题,当我们从导航控制器推送屏幕时,您想要为屏幕设置动画。我在我的项目中完成了。步骤如下
1)当您从导航控制器意味着推动视图控制器时,您必须在推送时为当前视图控制器设置动画。代码如下
(void)viewWillDisappear:(BOOL)animated {
[UIView beginAnimations:@"animation2" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration: 0.7];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
[super viewWillDisappear:animated];
}
2)如果要从第二个视图控制器弹出到第一个视图控制器,则在第二个视图控制器中键入相同的代码。您可以通过修改此方法参数setAnimationTransition