我不明白它的区别,随着新的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:我正在使用单一视图应用程序。
答案 0 :(得分:1)
从Xcode 4.3+创建新的单视图iOS应用程序时,没有任何默认ViewController.xib
。相反,您有MainStoryboard_*.storyboard
,其中包含一个根视图控制器,您可以在其中添加标签,按钮或任何其他UI元素。
此根视图控制器的标识为ViewController
,它引用UIViewController
中定义的ViewController.h/m
子类。在Storyboard的根视图控制器中添加按钮时,可以按CTRL +将其拖动到ViewController.h
以创建插座(UI元素和实例属性之间的连接),然后在{{1}中编写一些代码}。
让我们看看下面的截图:
我在根视图控制器中添加了一个圆形矩形按钮,单击“辅助编辑器”,然后按住CTRL +将其拖动到ViewController.m
,并将其命名为“按钮”。然后,在ViewController.h
方法中,您可以执行以下操作:
-viewDidLoad
据我所知,故事板没有文件所有者。每个视图控制器都使用自己的[_button setTitle: @"myTitle" forState: UIControlStateNormal];
子类实例单独实例化,您可以使用UIViewController
及其子视图从AppDelegate.m
访问每个视图控制器中的每一个。所以“隐式文件所有者”是AppDelegate。
您可以按照this one之类的基于故事板的教程进行操作。我个人不喜欢使用故事板,因为太多事情是隐含的。我每页有一个xib(视图控制器),并从appDelegate中实例化的主根视图控制器中单独加载它们。
要了解它如何在没有故事板的情况下工作,Xcode允许您在创建项目时不使用它们。您将从self.window.rootViewController
实例化一个简单的ViewController.xib/h/m
。