去掉storyboard中多余的navigationcontroller

来源:互联网 发布:如何看懂软件 编辑:程序博客网 时间:2024/05/17 03:44

1、使用场景:之前使用storyboard(sb)创建UINavigationController时,都会都出一个没有用的navigationcontroller页面。当页面很多时,这些多余的navigationcontroller就会遮挡一些界面,sb变得很难看,也不好维护。

2、可以将之前的navigationcontroller,或者使用Editor-->Embed in-->navigation controller去掉。按照下面的步骤进行就可以了。

1)首先连接连个页面,不要先删掉中间的navigation controller界面,因为删除界面后,之前viewcontroller上的navigation bar和navigation item就会不见。

2)segue采用之前的,(可以是show e.g push)。如果之前有命令,将命名加上。

3)删除中间的navigation controller界面

按照上面的操作就可以去掉中间的navigation controller了。

3、有时可能在代码中采用segue传递数据,如果使用了

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
方法,获取viewController的时候获取的是上层的navigation controller

Mycontroller *detailView = (Mycontroller *)[[segue destinationViewController ] topViewController];

那么这里需要改成直接获取viewcontroller

EVTicketDetailController *detailView = [segue destinationViewController ];

经过上面的步骤,就可以将多余的navigation controller去掉了,并且不会影响程序的正常功能。


0 0