【发布时间】:2014-05-10 02:38:59
【问题描述】:
我正在尝试在 iOS 应用程序中创建一个类似于 Instagram 相机“TabBarItem”功能的功能。当按下相机按钮时,tabBarController 会自行关闭(模态)并在背景中显示相机视图。当我们决定关闭相机视图时,tabBarController 会以模态方式呈现,一切都很好!我的问题与此实现类似。
我有一个自定义的UITabBar,其中 2 个“TabBarItems”应该执行上述操作。因此,当按下一个“TabBarItem”时,tabBarController 应该关闭(模态),并且随着 tabBarController 被关闭,背景中应该出现一个视图。其他“TabBarItem”也应该发生同样的情况,但会显示不同的视图。我已经想到了几种不同的方法来做到这一点,但它们似乎都不是真正“优雅”的,而且我还没有在 SO 上找到类似的问题。就这样吧。
为了便于描述:
TabBarItem1 (TB1) 被按下 -> TabBarController 关闭(模态) -> ViewController1 (VC1) 显示(因为 TabBarController 被关闭)
TabBarItem2 (TB2) 被按下 -> TabBarController 关闭(模态) -> ViewController2 (VC2) 显示(因为 TabBarController 被关闭)
第一种方法: 将 VC1 设置为 initialVC -> 以模态方式呈现 VC2(动画:否)-> 以模态方式呈现 TabBarController 那么,当... 按下 TB1 -> 关闭 TabBarController(动画:YES)-> 关闭 VC2(动画:NO) 问题:在关闭 TabBarController 之前,VC2 将可见。所以这是不行的。
第二种方法: 创建一个 ViewController(设置为 initialVC),其中包含 2 个 UIView(代表 VC1.view 和 VC2.view),这些 UIView 根据所选的 TabBarItem 隐藏/显示。这似乎是最合理的解决方案。但我不认为这很优雅。我想知道是否有人有任何建议。希望它没有我想象的那么混乱。
任何帮助将不胜感激。
【问题讨论】:
标签: ios objective-c instagram presentmodalviewcontroller tabbarcontroller