在典型的viewcontroller过渡两个视图中,消失和出现的视图都在移动,但是现在我想要创建一个自定义动画,在这里您可以将事件抛出以更改视图,视图将消失,只需隐藏而无需过渡和动画,视图将以相同的过渡继续显示。 那么这里的问题是我有导航栏而且我不知道,如何创建导航栏的自定义过渡? 你能帮我了解如何更改或删除导航控制器的转换。
我已经尝试了,但它只添加了其他转换,并且不会删除基本转换。
推送:
MainView *nextView = [[MainView alloc] init];
[UIView animateWithDuration:0.75
animations:^{
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[self.navigationController pushViewController:nextView animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
}];
对于Pop:
[UIView animateWithDuration:0.75
animations:^{
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:transition forView:self.navigationController.view cache:NO];
}];
[self.navigationController popViewControllerAnimated:NO];
任何想法?谢谢:D
答案 0 :(得分:0)
您可以使用添加为子视图并使用标题栏来模仿导航控制器。
MainView *nextView = [[MainView alloc] init];
//setup frame
nextView.view.frame = xxx;
[self.view addSubview:nextView.view];
使用[nexView.view removeFromSuperView];
OR
只需在当前视图上方添加一些默认隐藏的视图,并在某些操作上设置隐藏否,或者如果您想要保持下面的视图并将某些操作置于前面,请调用bringSubviewFront方法。