【问题标题】:How to implement the Facebook App iOS UI with Xcode Storyboard?如何使用 Xcode Storyboard 实现 Facebook App iOS UI?
【发布时间】:2014-07-28 21:42:32
【问题描述】:

我正在尝试构建一个在“故事板”方面与 Facebook 应用有很多相似之处的应用。我很想用我最了解的代码来做所有事情,但我真的很想弄清楚如何为这些更复杂的 UI 编写故事板。

Facebook 应用程序从登录视图开始。当您登录时,您会看到一个选项卡视图。在主选项卡视图中,您有一个表格视图。每个表格视图中都有一个用户、帖子和评论按钮,它们可以推送到新视图。

所以我的理解是我们将UINavigationController.navigationBarHidden 设置为false。这里的第一个视图控制器是loginViewController。当按下登录按钮并且用户登录时,我们将performSegueWithIdentifier 转换为UITabBarController。第一个选项卡是UINavigationControllerUITableViewController 作为第一个视图控制器。单击用户、帖子或评论会将相应的视图控制器推送到 NavigationController。

这一切似乎比仅仅用代码写出来要复杂一些。我什至不确定所有这些嵌套视图控制器的实现是否正确。我不确定情节提要是否也能做到这一点:例如,情节提要似乎无法实现用于推送评论、用户或帖子视图的导航控制器。

我想知道实现这种 UI 设计的正确方法。应该/可以使用 Storyboard 来实现吗?

【问题讨论】:

  • 听起来你走在正确的轨道上。根据我的经验,随着应用程序的增长(尤其是与 git 结合使用时),使用故事板会变得非常痛苦。不过,从帖子、评论等创建这些转场将非常简单。你只需使用 push segue。
  • 我也开始意识到所有这些可怕的循环推送序列。给定 ListView、UserView、CommentView、PostView,ListView 指向所有三个。但是您可以从 CommentView 或 PostView 访问 UserView。您也可以从 PostView 访问 CommentView。您也可以从 UserView 访问 PostView。当。我不知道这是如何管理的......
  • 我敢打赌这一切都是程序化的或使用 xibs 完成的。
  • Storyboards 非常适合定义视图的布局并将所有视图控制器放在一个位置,但它不一定是定义导航的最佳选择。 Segues 可能会变得混乱,有时您无法对它们做些什么。通常我什至不使用它们。我为我所有的 viewControllers 设置了一个 StoryboardID 并以编程方式实例化它们。
  • 有趣。因此,如果您在一个 Storyboard 中拥有所有视图控制器,您如何执行它们之间的转换?

标签: ios objective-c storyboard


【解决方案1】:

您的设计团队可能会使用“故事板”(实物 - 而不是数字版本)来布局应用。大型应用程序很难将所有小东西拼凑在故事板上。太多的电线走哪条路了。

查看没有互联网访问的 FB 应用程序,您可以更轻松地查看其基本构建块。它的内置单元(一次发布)被添加到滚动视图中。顶部的搜索栏和菜单以及底部的按钮,中间是滚动视图。这些帖子可能有一些通用的基类,以及从它派生的各种类型(图片、视频、链接等)。

如果您下降到底部的 1/3 范围内,则有某种后台进程监控滚动视图的位置以动态加载新故事。在每篇文章中,如果您仔细观察并思考它是什么类型的块,您可以看到这些组件。

【讨论】:

    猜你喜欢
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    相关资源
    最近更新 更多