【问题标题】:How do I change the RootViewController to another XIB?如何将 RootViewController 更改为另一个 XIB?
【发布时间】:2011-12-19 21:12:31
【问题描述】:

我试图理解 ViewControllers 的基本概念。出于我的目的,我需要切换 XIB(不是模态),但完全是为了节省内存。基本上我想调用另一个XIB并使用它的功能,然后按下那个XIB上的按钮,加载另一个XIB。

-(IBAction)GoToPage:(id)sender
{
    GoToPage *gotopage = [[[GoToPage alloc] init] autorelease];
    [self presentModalViewController:gotopage animated:YES];
}

我知道上面的代码只是模态地添加了一个子视图。有人可以引导我朝着正确的方向前进吗?

这是用于 iPad 书籍的。

【问题讨论】:

    标签: ios xcode ipad uiviewcontroller modal-dialog


    【解决方案1】:

    我建议阅读 Apple 的 View Controller Programming Guide for iOS 以深入了解视图控制器的用途。

    作为快速概述,视图控制器通常负责管理手机大小设备上的单个“屏幕”内容,或 iPad 上的部分屏幕,因为可以在 iPad 上使用多个视图控制器,例如UISplitViewController。如果您想在 iPad 上的全屏视图控制器之间制作动画,可以使用 UINavigationController,它管理视图控制器的层次结构。你没有提到GoToPage 继承自什么,无论是UIView 还是UIViewController。在您的情况下,它应该是UIViewController 的子类。

    使用UINavigationController 将允许您管理多个UIViewController 子类,同时保持层次结构完整,以便用户可以导航回之前的视图控制器。您可以使用-pushViewController:animated: 将视图控制器子类的新实例推送到导航控制器的视图控制器堆栈中,并且在大多数情况下,UINavigationController 会自动处理向后导航。

    XIB 只是封装了用户界面,而不是任何用户定义的代码。 XIB 的文件所有者代理应设置为您的UIViewController 子类,这允许您通过使用IBOutletIBAction 属性来弥合XIB 上的界面元素与UIViewController 子类中的代码之间的差距你的子类。

    最后,如果您只针对 iOS 5.0,我建议您查看UIPageViewController,它管理多个视图控制器并允许您通过类似 iBooks 的翻页动画在它们之间进行转换。首先,请通读 View Controller Programming Guide1

    【讨论】:

    • 链接已关闭 - 请修复
    猜你喜欢
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 2014-10-30
    • 2018-01-05
    相关资源
    最近更新 更多