【发布时间】:2017-07-27 09:20:27
【问题描述】:
我有一个 UIViewControllerC,它是从另外两个 UIViewcontroller 调用的
ViewControllerA 视图控制器B
从 ViewControllerA 到 UIViewControllerC 我必须让它呈现视图控制器
UIViewControllerC *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"UIViewControllerC"];
[vc setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
vc.tagfrom=@"present";
[self presentViewController:vc animated:NO completion:nil];
从 ViewControllerB 到 UIViewControllerC 我必须让它推送视图
UIViewControllerC *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"UIViewControllerC"];
[vc setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
vc.tagfrom=@"push";
[self.navigationController pushViewController:vc animated:YES];
现在我必须从后退按钮上的两个视图中返回,我检查标签条件并处理它
-(IBAction)backBtn:(id)sender
{
if ([tagfrom isEqualToString:@"present"])
{
[self dismissViewControllerAnimated:NO completion:nil];
}
else
{
[self.navigationController popViewControllerAnimated:YES];
}
}
在两种情况下都可以正常工作,但有时我的推送视图表现得像 presentmodelveiw,并且没有过渡效果,请帮我解决它
【问题讨论】:
-
反对什么?
-
你可以为presentViewController设置ModalTransitionStyle,但不能为pushViewController设置
-
检查案例 1) 推送和 2) 将视图呈现给同一视图
-
移除 [vc setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];用于案例 2(B 到 C)中的推送视图控制器
-
不,伙计....你不懂我....但感谢支持
标签: ios objective-c iphone uinavigationcontroller presentviewcontroller