【问题标题】:Need help with the tab bar and tab bar controller在标签栏和标签栏控制器方面需要帮助
【发布时间】:2011-09-15 16:33:17
【问题描述】:

我的 iPhone 应用程序有一个登录页面(我知道这令人震惊),但是当用户成功登录时,我想要一个底部带有标签栏的视图来加载并使用来自特定用户的数据填充按钮。我在标签栏上找不到任何教程,只有标签栏控制器,从我所阅读和看到的内容来看,您只能在 MainWindow.xib 上有一个标签栏控制器。如果那不是真的,请告诉我如何在主窗口以外的视图上设置标签栏控制器。这让我发疯了。啤酒在我身上寻求解决方案。谢谢

【问题讨论】:

    标签: objective-c ios4 xcode4


    【解决方案1】:

    我的应用程序中发生了同样的事情,我可以同情你。那里真的没什么可做的。

    对我来说,它从您的 AppDelegate 开始。我会在那里验证登录信息,如果它是好的,推出 tabbarcontroller。如果没有,只需提供登录控制器即可。这可能有点棘手,但如果你从那里开始,你应该能够使用其他一切来获得你需要的东西。

    使用 AppDelegate 确定要推送的控制器。当您推送登录并且一切正常时,回调您的 appdelegate 以推送标签栏控制器并终止登录。

    希望这会有所帮助。祝你好运。

    【讨论】:

    • 感谢您的回复。你能发布一些关于你是如何实现这一目标的代码吗?我已经在我的 AppDelegate 中搞砸了一天,每次我“认为”我有我的答案时,它都会增加另一个问题。
    • 我没有任何地方可以访问我可以给你看的东西,但如果你到那时还没有得到答复,我会在今晚晚些时候。
    • 如果我得到答案,我会告诉你的。谢谢比利
    • 我通过在另一个视图上动态加载标签栏控制器来使其工作。谢谢。
    【解决方案2】:

    你当然可以在 MainWindow.xib 之外的其他地方有一个标签栏控制器。 View Controller Programming Guide for iOS 是一个以编程方式创建的示例。请参阅以编程方式创建标签栏界面部分。

    现在,您可能已经看到了这一点,但重点是即使 Apple 的示例在 applicationDidFinishLaunching 中,您也可以在启动视图控制器的任何地方执行此操作,例如响应按钮单击。

    有几点需要考虑:

    1. 标签栏视图控制器并不意味着嵌入到导航控制器中(我相信它会给您带来错误)。建议使用相反的方法。以模态方式呈现标签栏视图控制器可能更有意义。
    2. 在您的具体情况下,听起来最好的办法是让标签栏成为主窗口中的根视图控制器,并在启动后自动弹出登录屏幕(即以模态方式呈现),然后在正确登录后,关闭登录屏幕以显示一直存在的标签栏控制器。

    【讨论】:

    • 感谢您的回复,是的,我已经阅读了那篇文章。我无法在主窗口上有登录视图然后在登录后将其隐藏的原因是我需要登录结果中的数据(Web 服务调用)并用用户特定的数据而不是硬编码值填充选项卡栏按钮。我曾尝试将标签栏控制器放在另一个视图上,但无法显示。它非常令人沮丧。你能告诉我一个如何让标签栏控制器出现在另一个视图上的例子吗?
    • 我让它工作了。最后。昨天看的时候一定是累了。非常感谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多