【问题标题】:iPhone App Development - Few beginner questionsiPhone 应用程序开发 - 几个初学者问题
【发布时间】:2013-09-07 12:31:18
【问题描述】:

我的任务是创建一个应用程序,但我对 iOS 开发的经验为零。我有一般的编程知识,尤其是 Java、JavaScript 和 PHP(我更像是一个 Web 开发人员而不是程序员)。我过去曾涉足过 C、Xcode 和各种其他语言和 IDE,但我记得很少。

我一直在关注Apple's Developer Library tutorials,现在我正处于语言阶段,我即将停下来。虽然我通过学习 Objective-C 的基础知识慢慢进步,但有一些关于 Xcode 开发的事情我很困惑,各种教程似乎完全跳过或只是暗示你知道该做什么,或者有些只是停止就在我遇到问题的部分之前。

1) 故事板 - 是还是不是?

从一个空的应用程序开始并使用 文件或创建模板(在我的情况下是选项卡式应用程序)并工作 用故事板?

2) 如果使用情节提要,我还需要 .xib 吗?

用户界面是否更像视图控制器实现的全局模板?

如果我想为我的应用程序的每个选项卡设置不同的布局,我会为每个选项卡创建一个 .xib,还是只编辑情节提要中的控制器?我是否正确理解情节提要可以具有同一控制器的多个实例/关系,在这种情况下使用 .xib 会更有意义?

3) 如果使用故事板,实现和源文件来自哪里?

这可能是一个愚蠢的问题。我知道您可以通过 File -> New 添加它们,但我不知道如何将这些文件与视图控制器相关联。有没有办法在将控制器添加到情节提要时自动创建文件?

【问题讨论】:

  • +1 表示 已经完成了自己的研究。 至于问题:故事板 - 如果您喜欢,可以使用它们。有人爱他们,有人恨他们。 2. SB vs XIB:AFAIK 它们是互斥的(尽管如此,它们可用于实现同一项目的不同部分)。 3. SB 和实现:Interface Builder 是 magic - 它是硬核的 black woodoo。我不使用它,因此,我对它了解不多,但 AFAIK 是 IB 自动建立这些连接。
  • @H2CO3 是的,但他在标题和标签中使用了“Xcode”这个词……你越来越软了。但是出于同样的原因还是要 +1。
  • @trojanfoe :D 嗯,我觉得这 与 Xcode 有关 - 显然,他在询问如果他使用 emacs 将不适用的 Interface Builder .
  • @H2CO3 嗯,很脆弱,但你可能是对的。事实上你是对的,因为他特别提到了 Xcode 中的菜单选项。检方撤回声明……
  • @H2CO3 在大学学习了六年的计算机科学之后,我再也不想听到“emacs”这个词了。

标签: iphone ios objective-c xcode storyboard


【解决方案1】:

既然您刚刚开始,您应该使用 Storyboard,因为它可以让您在代码之外直观地链接不同的视图控制器(本质上是应用程序上的页面)。例如,您可以将您的 UITabbedViewController(管理其他选项卡内容的部分)链接到代表不同选项卡内容的页面。基本上,您的故事板将具有与子控制器处于父子关系的选项卡式视图控制器。您将拥有每个选项卡的一个实例——选项卡式视图控制器,管理每个选项卡的内容和控制器的一个实例。无论 Storyboard 还是 xib,这都是一样的,但您可以在 Storyboard 中更轻松地连接它。

您仍然可以将 .xib(nib) 文件用于自定义表格单元格之类的内容,或者在您希望将视图元素或控制器与存在其他约束的情节提要分离的情况下。

在情节提要中,您可以通过在“自定义类”中输入您的 UITabbedViewController 子类来子类化可视化编辑器侧边栏上的控制器类。在与“MyTabbedController”关联的文件中,您实现了自己的东西。

好书:

http://www.barnesandnoble.com/w/beginning-ios-6-development-david-mark/1113216077?ean=9781430245124

祝你好运!

【讨论】:

    【解决方案2】:

    故事板适用于有十个或二十个屏幕的小型应用程序。当您的应用包含更多内容时,您将迷失在情节提要模式中,您的所有视图控制器在视觉上看起来都一样。

    我不喜欢使用故事板,只是为每个控制器单独的 xib 文件。

    如果您使用storyboard,您可以为应用程序的其他部分创建与SB无关的xib文件,并且SB中涉及的视图控制器将其接口存储在SB中,这意味着您必须在其中设计它们,在这个巨大的故事板文件中。我觉得这很不舒服。

    由于您是 IB 新手,我建议您看看 Auto layout。没有魔法了:)

    【讨论】:

    • 如果我开始使用情节提要,如果有必要,以后转换为只使用 xib 是否容易?故事板只是实际控制器文件的可视化表示,还是封装了所有视图对象信息?
    • Storyboard 封装了所有视图信息,它不使用任何外部文件,只有一个.storyboard 文件。它是故意以这种方式创建的,以减少项目中的文件数量。关于这个好的答案在这里 stackoverflow.com/questions/8436324/… 据我所知,没有办法从 SB 迁移到 xibs。
    【解决方案3】:

    逐点回答:

    1. 我通常使用“单一视图”模板。它提供了您第一次查看所需的一切,并且可以从那里获取。这是一张白纸,但它已经有了第一个视图,这在您制作的 99% 的应用程序中将是完全相同的代码。

    2. 不,情节提要文件是您的 xib。你过去必须为每个新布局制作一个新的 xib,但后来 Apple 引入了故事板。故事板基本上是一个文件中的所有 xib。与其创建一个新的 xib,不如将一个新的 ViewController 对象拖到文档上。如果您想同时支持 iPhone 和 iPad 布局,通常只有 1 个故事板文件或 2 个。

    3. 我不认为你可以让它自动创建你的源文件,但手动连接它们相当容易。

    通过单击下方的黑色条来选择要连接到源文件的 ViewController。然后去一旁的吧台,进入这个面板:

    在此处输入自定义 ViewController 子类的名称,我已在其中放置“MyViewController”。希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多