【问题标题】:iPhone application layoutiPhone 应用程序布局
【发布时间】:2011-10-25 23:36:13
【问题描述】:

我正在开发(用于学习 iOS 编程)一个图像共享应用程序。

想要的布局是这样的:

  • 这是一个带有三个标签的标签栏应用程序。
  • 当您打开应用程序但未登录时,选项卡栏被隐藏,您会看到一个带有“SIGNUP”和“LOGIN”两个按钮的工具栏。
  • 您在打开应用程序时看到的控制器对于登录用户和匿名用户是相同的。匿名用户只能看到这个,因为标签栏(如上所述)是隐藏的,而您会看到一个用于注册和登录的工具栏。
  • 当您点击登录或注册按钮时,您会看到(使用 navigationController 的 pushViewController)一个用于执行所选操作的新推送视图。

例如,您是匿名用户并打开了应用程序。您会看到第一个带有所有图像的控制器,底部有一个带有两个按钮的 UIToolbar。例如,您点击一个图像,您会看到一个带有图像详细信息的新视图(该视图是使用导航控制器推送的)。但在新视图中,您也可以看到用于注册和登录的 UIToolbar。所以 UIToolbar 对于匿名用户总是可见的。

我的问题总是为匿名用户显示 UIToolbar 并使用导航控制器推送登录或注册视图。

我是一名新手开发人员。你有提示吗?谢谢。

【问题讨论】:

    标签: iphone ios uinavigationcontroller uitabbarcontroller uitoolbar


    【解决方案1】:

    如果我正确理解了您的问题,您是否想不断地为匿名用户显示 UIToolbar 以便他们可以从您的任何视图登录?如果是这种情况,您所要做的就是在您希望用户能够登录的每个视图中包含您的登录工具栏。

    另一个选项,如果我没记错的话,导航控制器在技术上既是顶栏又是底栏。您可以启用并使用此底部栏,而不是将您的登录工具栏添加到您的每个视图中。要为已知用户禁用它,您只需将其隐藏即可。

    编辑以响应 cmets: 您应该在 UINavigationController 子类中初始化工具栏,它看起来像这样:

    customNavController.h:

    @property(nonatomic,retain) UIToolbar *toolbar
    

    customNavController.m

    if (toolbar == nil) {
            toolbar = [[UIToolbar alloc] init];
            navigationController.toolbar = toolbar;
    }
    

    这是基本思想,尽管工具栏的初始化函数会有所不同,因为它将具有登录过程所需的 UI。如果您想了解有关导航控制器的更多信息,我强烈建议您阅读其上的类参考,它实际上非常方便。

    http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html

    【讨论】:

    • 是的,您理解正确。但是我需要在哪里初始化和分配这个工具栏?我怎样才能通过视图?此外,当您点击登录或注册时,我应该pushViewController 适当的视图。
    • 我已经更新了我的答案,并提供了更多细节。初始化后您不需要传递它,因为它将成为您实际导航控制器的一部分。是的,您应该在要导航到的视图上使用 pushViewController,并且应该负责导航到适当的视图。
    • self.navigationController.toolbar = myToolbar 返回错误:Assigning to property with 'readonly' attribute not allowed
    • 对不起,我修正了上面不正确的行,它应该是 @property(nonatomic,retain) UIToolbar *toolbar 我还添加了一个可能正在工作的教程,它是关于这个主题的,所以它可能对你有用!
    • 嗯...你是对的。我从未使用过工具栏,所以我只是假设启动并运行它所需的代码,但我确信本教程应该包含正确的设置代码。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    相关资源
    最近更新 更多