UITabBarController 子视图的文件所有者



我遵循了这个UITabBarController教程,它创建了一个标签栏,主要使用接口生成器。UITabBarController是在那里创建的,Tab的视图控制器也是在那里添加的。

我是否正确,创建UIViewControllers {WelcomeViewController|AboutViewController}。{h|m}是不必要的?

谁是真正的文件的所有者子视图{WelcomeViewController|AboutViewController}.xib?

请注意,我首先尝试在WelcomeViewController.h:中的Interface Builder中创建一个IBAction方法。xib,我可以连接一个按钮按下的动作,因为它出现在文件的所有者。但是在运行时它崩溃了,因为真正的文件的所有者可能是而不是一个WelcomeViewController.m的对象。我说的对吗?这是一个错误,IBAction出现在界面生成器(Xcode 4这里)?

最后一个问题:如何/我仍然可以分开的代码(在WelcomeViewController.h的动作只发生在这个子视图),当我连接一切在接口生成器像在教程?

我是否正确,创建UIViewControllers {WelcomeViewController|AboutViewController}。{h|m}是不必要的?

不,两个控制器都是必要的,因为每个全屏窗口应该至少(最好,最多)一个ViewController来管理你的视图层次。TabBarController只是一种"哑"元控制器,管理它加载的子控制器的显示——因此你需要控制器来切换视图。我建议你阅读Apple文档的这一部分。

谁是子视图{WelcomeViewController|AboutViewController}.xib的真正文件的所有者?

文件的所有者应该是相应的控制器类(在你的例子中,{WelcomeViewController|AboutViewController}.{h|m}) -当文件的所有者被选中时,你可以在界面生成器的检查面板中设置类。只有第一个窗口(通常称为Main)。在应用程序启动时打开的文件应该具有应用程序委托作为文件的所有者。文件的所有者拥有XIB/NIB文件的对象-对象引用明智,你知道我的意思:)我认为它也应该可以加载XIB/NIB文件与其他控制器(和其他控制器自动成为文件的所有者),但我不确定。

…我说的对吗?这是一个错误,IBAction出现在界面生成器(Xcode 4这里)?

可能是您在Interface Builder中错误地连接了操作,这是一个常见的错误。尝试按住Ctrl键,然后从该按钮拖动一条线到文件的所有者,然后选择要链接到的所需方法。应该可以了。

最后一个问题:如何/我仍然可以分开的代码(在WelcomeViewController.h的动作只发生在这个子视图),当我连接一切在接口生成器像在教程?

我想我在第一段回答了这个问题- WelcomeViewController仍然在那里,你所要做的就是创建IBOutlets并在IB中连接它们。当然,你也可以通过编程方式进行连接,因为成员"view"是自动填充的(通过文件的所有者连接),并且所有的子视图都可以从那里访问。

最新更新