繁体   English   中英

Storyboards 和 Interface Builder 之间的关系是什么?

[英]What is the relationship between Storyboards and the Interface Builder?

我刚开始学习 XCode、objective-c、iOS 等等。 这是我第一次涉足应用程序开发。 我不是开发新手,只是 iOS 开发和 XCode。

因此,我正在学习 Udemy 课程,该课程让我使用情节提要,我有些担心,因为我认识的每个专业 iOS 开发人员都使用一种称为 Interface Builder 的东西,这显然消除了对情节提要的需要。

我才刚刚开始,所以对于 storyboard 到底是什么,我仍然只有一个粗略的概念……它似乎只是单个页面视图的图形表示。 我不知道它与这个所谓的Interface Builder有什么关系,它们之间的关系是什么。

通过使用故事板学习本课程,我是否走错了路? 或者这是过渡到 Interface Builder 之前有用的开始步骤吗? 使用故事板会帮助我以后处理它吗? 我在浪费时间吗?

Interface Builder是Xcode的一部分,可让您查看和编辑情节提要和.xib文件(单击此类文件时它会自动打开)。

.xib(或“ nib”)文件表示应用程序中的单个逻辑视图(在iOS上,通常是具有多个视图的UIViewController ,例如UIScrollViewUINavigationBar )。

故事板是这些视图的集合,并且可以用于建立从视图到其他视图的过渡。

我建议阅读故事板上的Apple文档 ,以了解它们可以为您做什么。

...
Interface Builder显然消除了对故事板的需求。
...

实际上, 情节提要是Interface Builder中的一个概念。
它是整个应用程序流程的直观表示。

我认为您所需要的只是快速阅读Apple Interface Builder文档
在基本的理解上,IB是一个拖放区域,以可视方式创建您的视图。

报价:

您可以在Interface Builder中创建应用程序的用户界面。 在项目导航器中选择一个用户界面文件,然后在工作区窗口的编辑器区域的Interface Builder中打开该文件的内容。 用户界面文件的文件扩展名为.storyboard或.xib。

逻辑示例:无需以编程方式编码UIButton并设置其框架或约束,而是转到Interface Builder,选择一个UIButton对象,然后将其放置在想要的位置。 您还将指定对象名称及其响应的方法。 但这将需要在与视图关联的相应类的.m或.h文件中定义对象名称和方法名称


Interface Builder可以是XIB / nib或Storyboard。 后一种方法是Apple提供的最新方法( 推荐方法)。

使用情节.storyboard ,您只有一个文件,即.storyboard文件,它将代表整个应用程序流程。
一个应用程序可以具有多个屏幕/视图,因此一个故事板将基本上代表多个UIViewController ,每个UIViewController都将绑定到一个特定的类。

例如,在此故事板中,您可以直观地看到( 从此处开始的假设 )整个应用中有5个屏幕:

  1. 屏幕1可能以UINavigationController开头
  2. 屏幕2是此UINavigationController的根视图,例如LoginVC (绑定到LoginVC.mLoginVC.h
    • LoginVC上的一个按钮将带您进入SignUpVC (与SignUpVC.mSignUpVC.h
    • LoginVC上的另一个按钮将带您进入ProfileVC (与ProfileVC.mProfileVC.h
  3. 屏幕3是SignUpVC
    • 单击一个按钮即可回到LoginVC
  4. 屏幕4是ProfileVC
    • 单击一个按钮即可转到SettingsVC (与SettingsVC.mSettingsVC.h绑定)
    • 一个按钮将您注销,带您回到LoginVC
  5. 屏幕5是SettingsVC

Q.

通过使用情节提要学习本课程,我是否走错了轨道?

一种。
不,绝对不是。 您朝着正确的方向前进。
但是,我认为了解以前的XIB / nib方法也值得您花时间。
另外,强烈建议以编程方式创建UIView


Q.

...这是过渡到Interface Builder之前有用的开始步骤吗?

一种。
它已经使您熟悉Interface Builder,因此实际上并不需要太多的“转换”。


Q.

使用情节提要板可以帮助我以后使用它吗? 我在浪费时间吗?

一种。
是的,除非您在版本控制下的团队中工作,在这种情况下,XIB仍然看起来不错。


那么什么是XIB?

它仍然在Interface Builder范围内...
将情节提要分解为单独的视图,您将拥有多个文件( .xib文件 ),它们代表一个类的UIViewUIViewController 因此,在版本控制下的团队中工作时会有所帮助

因此,现在……而不是只有一个.storyboard ,您将拥有多个.xib文件,这些文件将与( 您认为 )需要直观表示的所有这些类相关联。


链接:

Storyboard:有一个很好的 UI 设计器,所见即所得,拖动,调整大小的设计编辑器,生成代码并与手动代码更改同步。

SwiftUI:代码是唯一的真实来源。 没有设计师。 大量的硬编码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM