UITabBarItem 及其 UIViewController - 一个复杂的问题

Posted

技术标签:

【中文标题】UITabBarItem 及其 UIViewController - 一个复杂的问题【英文标题】:UITabBarItem and its UIViewController - a complex issue 【发布时间】:2011-08-07 12:12:29 【问题描述】:

我对UITabBarItem 有一点复杂的问题,它是UIViewController。 基本上我有一系列UIButtons,它是UITabBar 之上的一层,如果选择了UIButton,则选择了正确的UITabBarItem。 复杂的问题始于我有一个UIViewController,当按下其中一个UITabBarItem 时显示它会占用整个屏幕并显示一系列UIButtons。一旦你按下一个按钮,它就会返回到所选的UITabBarItem,但我想要在UIViewcontroller 中拥有一个动态的UIView。除了viewDidLoad 已预加载在该视图中之外,我可以让其他一切正常工作。 有什么建议么。对不起,如果那是一口!

【问题讨论】:

您是动态创建UIView 还是在同一个界面生成器中创建? 我尝试了两种方法,但它不起作用。我有一个值(按下哪个按钮),它被传递给 UIViewcontroller 以显示动态 UIView,但由于它是 viewDidLoad,它始终为零。我也尝试过其他方法和 loadView。我真的需要这方面的帮助。 我一般不建议UITabBar做这种用,你最好用UISegmented做tabs效果。好吧,如果您仍然需要在相同的 UITabBar 场景中获得帮助,请在此处发布您的代码或亲自邮寄给​​我,以便我们可以相应地为您提供更多帮助。 你已经完全跑题了。让我以一种简单的方式说出来,以便您理解。我有 5 个标签栏。当我单击最后一个时,它会显示一个带有一系列按钮的视图,基本上就像菜单一样。我真正想要的是,如果我单击选项卡内的视图中的一个按钮进行更改。像这样的应用程序:uk.westfield.com/london/offers-events/iphone 【参考方案1】:

既然我明白了您的要求,您似乎需要根据按下的按钮来更改第五个选项卡中的视图 - 您可以通过制作一堆图形按钮来填充视图来实现这一点,然后拥有您需要的全屏覆盖,让您的视图将新视图呈现为模态视图控制器。

[self presentModalViewController:controllerForButton1 animated:NO]

这实际上与标签栏没有太大关系,只是恰好在标签栏控制器中,他们使用第五个视图来保存一个大菜单,因为没有足够的标签来满足他们的需要。

【讨论】:

这不是我想要的,并且有类似的应用程序可用。 好吧,告诉我们你想要什么?对您来说,“动态 UIView”到底是什么?当你在 Objective-C 中编程时,动态是一个广义的术语,我会说我 100% 的视图是动态的,因为它们并不总是显示完全相同的内容,有些动态性较低,因为它们重用了同一组子视图。 让我用一种简单的方式来说明,以便您理解。我有 5 个标签栏。当我单击最后一个时,它会显示一个带有一系列按钮的视图,基本上就像菜单一样。我真正想要的是,如果我单击选项卡内的视图中的一个按钮进行更改。类似这个应用程序:uk.westfield.com/london/offers-events/iphone

以上是关于UITabBarItem 及其 UIViewController - 一个复杂的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何将 UITabBarItem 标题更改为另一个 UITabBarItem 的标题?

如何使用自定义 UIImage 作为 UITabBarItem 徽章?

删除 UITabBarItem

如何在 iOS Objective C 的嵌套 UICollectionViews 中从 Child UICollectionViewCell 的 UIButton 将值传递给新的 UIViewCon

如何为 UITabBarItem 设置自定义标题属性

UITabBaritem 中的动态 UIView