微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 将视图控制器推入模态视图控制器视图

我正在尝试简单的操作.至少看起来很简单.好吧,我想做的是从一个用模态视图控制器推动的视图中推送视图(使用推视图控制器).

View1 – (使用模态视图控制器推送) – > View2 – (使用推视图控制器推送) – View3.

Rigth现在,我正在做测试,所以我正在使用一个按钮来启动动作.这是我用来从View2推送到视图3的代码

//view2.h
UIToolbar *bar;
UIBarButtonItem *button;
UIToolbar *toolbar;

}

- (IBAction)demissModal:(id)sender;
- (IBAction)goView3:(id)sender;

@end

//view2.m
- (IBAction)goView3:(id)sender{

View3 *view_3 = [[View3 alloc] initWithNibName:@"View3" bundle:nil];
[self.navigationController pushViewController:view_3 animated:YES];

}

这是我用来将View1推送到View2的相同代码,它可以工作.但是当将View2推送到View3时,它无法正常工作.知道为什么会这样吗?谢谢!

解决方法

视图控制器实际上不是“模态”或“推送”视图控制器. Modal或Push描述了视图控制器之间的转换(如果您使用的是故事板,则称为segues).

我认为你问的是如何以模态方式呈现视图控制器,然后推送另一个控制器.诀窍是当您以模态方式呈现视图控制器#1时,实际呈现导航控制器,其根视图控制器设置为视图控制器#1.

MyViewController *myViewController = [MyViewController alloc] init];
UINavigationController *navController = [UINavigationController alloc] initWithRootViewController:myViewController];

// Presuming a view controller is asking for the modal transition in the first place.
[self presentViewController:navController animated:YES completion:nil];
// Now in myViewController,call [self.navigationController pushViewController:secondViewController animated:YES];

这就像使用故事板一样:

原文地址:https://www.jb51.cc/iOS/328216.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐