2013-03-29 79 views
0

所以我有一个自定义的底部选项卡栏,如果我将它作为子视图添加到我的任何视图中,但我都会喜欢它作为UINavigationController的一部分我不需要在每个视图初始化中都跟踪它。有没有办法做到这一点?如何使用子视图自定义UINavigationController自定义底部选项卡栏

我不能将它作为navigationBar的子视图添加,因为我认为它已超出框架,并且触摸不会在标签栏上注册。

我不能继承navigationController,因为苹果不让你。那么我如何才能做到这一点?

+0

因为这里把你的代码放在这里来检查它。 –

回答

1

这不是真的,苹果不会让你的子类UINavigationController。从iOS 6开始,这是允许的,但是,我不认为这对你有帮助。我认为最好的方法是使用自定义容器控制器。如果您在IB中使用UIViewController,您可以将自定义选项卡栏放在底部(或者只留下空间并将其添加到代码中),然后添加一个容器视图,以填充其余的空间。您可以删除使用该容器视图获得的默认控制器,并将其替换为导航控制器。当你浏览你的内容控制器时,你的标签栏将保持不变。

+0

这听起来像是一个很好的解决方案。我仍然不确定如何从导航控制器上的任何视图访问标签视图控制器,因为它不会像导航控制器一样传递。 –

+0

@EvanLayman,你是什么意思的标签视图控制器?你的意思是容器控制器在其视图中有标签栏吗?您可以通过self.navigationController.parentViewController – rdelmar

+0

从任何导航控制器的内容控制器访问父控制器。当然,谢谢。我会尽快尝试,并将其标记为正确的答案,当我得到它的工作。 –

相关问题