ios - 如何使用 subview 自定义底部选项卡栏对 UINavigationController 进行子类化

标签 ios ios6 uinavigationcontroller uitabbarcontroller

所以我有一个自定义底部选项卡栏,如果我将它作为 subview 添加到我的任何 View 中,它就可以工作,但我希望它成为 UINavigationController 的一部分,这样我就不需要在中跟踪它每个 View 初始化。有没有办法做到这一点?

我无法将其添加为导航栏的 subview ,因为我认为它超出了框架,并且触摸未在选项卡栏上注册。

我不能子类化navigationController,因为苹果不允许。那么我该如何让它工作呢?

最佳答案

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

关于ios - 如何使用 subview 自定义底部选项卡栏对 UINavigationController 进行子类化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15696887/

相关文章:

iphone - 从非事件状态返回时,uinavigationbar 向上移动

ios - LeftBarButtonItem 有两个按钮。一键不响应点击

ios - 如何在相交时只添加 1 个值?

objective-c - 架构 i386 的 undefined symbol ,为 iOS 构建?

ios - 如何使用 Apple Localization Glossaries/AppleGlot 翻译 iPhone 应用程序中的基本术语?

iphone - 如何使用 googleAPI 在 UIWebView 中获取方向?

ios - 应用程序中哪里需要接收远程推送消息

ios - 从弹出窗口打开全屏模式时,相机的屏幕位置不正确

iphone - UINavigationController 建议

ios - Meteor GoogleMaps.load() 无法在 iOS 上使用 Iron