Ios u导航栏在自定义展开序列的动画中不可见
我在导航控制器中使用自定义的展开序列,在序列的动画中,当动画结束时导航栏“pops”不可见。?如何在动画期间保持导航栏的可见性 更多详情: 我在导航栏中有一个按钮,用于调用模式视图。此动画按预期执行,新视图有一个按钮用于触发展开分段动画。视图将增长并消失,而此动画正在执行。在动画完成之前,目标视图控制器中的导航栏不可见 这是我用于自定义segue的代码Ios u导航栏在自定义展开序列的动画中不可见,ios,objective-c,animation,segue,uistoryboardsegue,Ios,Objective C,Animation,Segue,Uistoryboardsegue,我在导航控制器中使用自定义的展开序列,在序列的动画中,当动画结束时导航栏“pops”不可见。?如何在动画期间保持导航栏的可见性 更多详情: 我在导航栏中有一个按钮,用于调用模式视图。此动画按预期执行,新视图有一个按钮用于触发展开分段动画。视图将增长并消失,而此动画正在执行。在动画完成之前,目标视图控制器中的导航栏不可见 这是我用于自定义segue的代码 - (void) perform { UIViewController *sourceViewcontroller = self.so
- (void) perform {
UIViewController *sourceViewcontroller = self.sourceViewController;
UIViewController *destinationViewcontroller = self.destinationViewController;
[sourceViewcontroller.view.superview insertSubview:destinationViewcontroller.view atIndex:0];
[destinoViewcontroller beginAppearanceTransition:YES animated:YES];
[UIView animateWithDuration:0.2
delay:0.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
origenViewcontroller.view.transform = CGAffineTransformMakeScale(1.5, 1.5);
origenViewcontroller.view.alpha = 0.0;
}
completion:^(BOOL finished){
[destinationViewcontroller.view removeFromSuperview];
[sourceViewcontroller dismissViewControllerAnimated:NO completion:NULL];
}];
}
好的,我想我明白了,我所做的是在源视图的superview中插入整个导航控制器视图,删除代码以从superview中删除目标视图,并将dismissViewControllerAnimated选项设置为是,如下所示:
- (void) perform {
UIViewController *origenViewcontroller = self.sourceViewController;
UIViewController *destinoViewcontroller = self.destinationViewController;
[origenViewcontroller.view.superview insertSubview:destinoViewcontroller.navigationController.view atIndex:0];
[UIView animateWithDuration:0.4
delay:0.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
origenViewcontroller.view.transform = CGAffineTransformMakeScale(2.0, 2.0);
origenViewcontroller.view.alpha = 0.0;
}
completion:^(BOOL finished){
[origenViewcontroller dismissViewControllerAnimated:YES completion:NULL];
}];
}
我仍然不确定这样做是否正确。您也可以将
destinationViewController
嵌入UINavigationController
中,并将您从sourceViewController
到导航控制器的顺序设置为欢迎使用!如果您尝试发布正在使用的代码的示例,以便人们可以查看它来尝试并帮助您,这通常非常有用。fabf98dev是正确的,如果您为要展开的UIViewController
创建自定义导航控制器,并将展开调用放在其中,然后,在放卷过程中将保持导航条。