去掉storyboard中多余的navigationcontroller

本文介绍了如何在Storyboard中清理无用的NavigationController,避免界面混乱和维护难题。通过不删除NavigationController,而是调整segue和数据传递方式,可以有效解决这一问题。

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去掉了,并且不会影响程序的正常功能。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值