0

我不明白其中的区别,并且随着新 xcode 4 的发布(我有最新的 4.4.1),我无法阅读我买的一些书,我迷路了。

书中说我需要点击myprogramViewController.xib,但是在新的xcode中没有出现,我需要创建吗?

还有缺少 MainWindow.xib (但我已经创建了它),也在书中说打开 myapplicationViewController.m 和 myapplicationViewController.h 进行一些更改(我想这是相同的 ViewController.m 和 myapplicationViewController.m 和与 .h 相同)我很困惑。

那么我在哪里拖动按钮和标签以及所有这些东西呢?在 MainWindow 中还是在 ViewController 中?(但我需要创建 ViewController 吗?)我指的是 .xib 的,因为我只有 ViewController.m 和 ViewController.h,缺少 .xib 的。

我需要一些帮助,谢谢大家!

PS:我正在使用单视图应用程序。

4

1 回答 1

1

从 Xcode 4.3+ 创建新的 Single View iOS App 时,没有任何默认ViewController.xib. 相反,您拥有MainStoryboard_*.storyboard一个根视图控制器,您可以在其中添加标签、按钮或任何其他 UI 元素。

这个根视图控制器的标识是ViewController,它指的是在 中UIViewController定义的子类ViewController.h/m。当您在故事板的根视图控制器中添加一个按钮时,您可以 CTRL+拖动它来ViewController.h创建一个插座(UI 元素和实例属性之间的连接),然后在ViewController.m.

让我们看一下下面的截图:

在此处输入图像描述

我在根视图控制器中添加了一个圆形矩形按钮,单击“助手编辑器”,然后 CTRL+将其拖动到ViewController.h,并将出口命名为“按钮”。然后,在该-viewDidLoad方法中,您可以执行以下操作:

[_button setTitle: @"myTitle" forState: UIControlStateNormal];

编辑

据我所知,故事板没有文件所有者。每个视图控制器都使用自己的子类实例单独实例化,您可以通过using及其子视图UIViewController访问它们中的每一个。所以“隐式文件所有者”是 AppDelegate。AppDelegate.mself.window.rootViewController

您可以按照这样的基于故事板的教程进行操作。我个人不喜欢使用故事板,因为太多的东西是隐含的。我每页有一个xib(视图控制器),并将它们与appDelegate中实例化的主根视图控制器分开加载。

要查看没有故事板的情况下它是如何工作的,Xcode 允许您在创建项目时选择不使用它们。你会得到一个简单的ViewController.xib/h/m实例化AppDelegate.

于 2012-08-14T00:40:41.707 回答